def send_frame(self, name, args={}): if not self._sock: raise Exception("Not Connected") self.frame_id += 1 self.logger.debug('SEND: %s, %s, %s' % (self.frame_id, name, args)) buffer = core.serialize_frame(self.frame_id, name, args) e = eventlet.event.Event() eventlet.spawn(self._send_frame, self.frame_id, buffer, e) return e
def send_frame(self, name, args={}): if not self._sock: raise errors.NotConnected() self.frame_id += 1 self.logger.debug('SEND: %s, %s, %s' % (self.frame_id, name, args)) buffer = core.serialize_frame(self.frame_id, name, args) if self._active_loop is None: raise errors.NotConnected() try: try: self._send_lock.acquire() self._sock.sendall(buffer) self.logger.debug('SENT %s: %s', self, repr(buffer)) except Exception, e: self.logger.exception('%s Error sending payload %s', self, repr(buffer)) try: self._sock.shutdown() self._sock.close() except Exception: pass raise else: