def __send_rcv(self, cmd, args, data):
"""
helper for ``send_rcv()``
"""
msg = msgpack.packb({
CMD_KW_CMD: cmd,
CMD_KW_ARGS: args,
CMD_KW_DATA: data
}, default=encode, use_bin_type=True)
log.debug("Sending %d bytes...", len(msg))
# Prefix message with protocol version
rsp = struct.pack('>I', PROTOCOL_VER)
# Prefix each message with a 4-byte length (network byte order)
rsp += struct.pack('>I', len(msg))
rsp += msg
self.__buffer.write(rsp)
# receive answer from server
return self._recv()
评论列表
文章目录