def send_message(self, message): if self.log.isEnabledFor(logging.DEBUG): last_activity = self._last_txrx_time self.log.debug("send since_last=%0.04f %s", last_activity and time.time() - last_activity, truncate(repr(message), max_len=256)) self._last_txrx_time = time.time() if len(message) > 2: raise MessageError.invalid(message, "too big") self.msg_socket.send_message(self._dumps(message))
def recv_message(self): """ Returns a (rpc_command, data) message tuple. """ message = self._loads(self.msg_socket.recv_message()) if self.log.isEnabledFor(logging.DEBUG): last_activity = self._last_txrx_time self.log.debug("recv since_last=%0.04f %s", last_activity and time.time() - last_activity, truncate(repr(message), max_len=256)) self._last_txrx_time = time.time() if len(message) == 1: message = (message[0], None) if len(message) > 2: raise MessageError.invalid(message, "too big") return (message[0], message[1])
def _recv_one_message(self): header = self._socket_recv(self.MSG_HEADER_SIZE) size_str, magic, type = header[:6], header[6], header[7] try: size = int(size_str, 16) except ValueError: raise ConnectionError("invalid message size: %r" %(size_str, )) message = self._socket_recv(size) if magic == self.MAGIC_NONE: pass elif magic == self.MAGIC_ZLIB: message = message.decode("zlib") else: raise ConnectionError("bad magic number: %r (header: %r, msg: %r)" %(magic, header, truncate(message))) return type, message
def _recv_one_message(self): header = self._socket_recv(self.MSG_HEADER_SIZE) size_str, magic, type = header[:6], header[6], header[7] try: size = int(size_str, 16) except ValueError: raise ConnectionError("invalid message size: %r" % (size_str, )) message = self._socket_recv(size) if magic == self.MAGIC_NONE: pass elif magic == self.MAGIC_ZLIB: message = message.decode("zlib") else: raise ConnectionError( "bad magic number: %r (header: %r, msg: %r)" % (magic, header, truncate(message))) return type, message
def bad_magic(cls, message_str): return cls("invalid magic number on message: %r" % (truncate(message_str), ))
def bad_magic(cls, message_str): return cls("invalid magic number on message: %r" %(truncate(message_str), ))