def string(self):
# type: (InternalMessage) -> bytes
"""Returns a :py:class:`bytes` representation of the message
Raises:
TypeError: See :py:func:`~py2p.base.InternalMessage._InternalMessage__non_len_string`
"""
if not all((self.__id, self.__string, self.__full_string)):
id_ = self.id
ret = b''.join((id_, self.__non_len_string))
compression_used = self.compression_used
if compression_used:
ret = compress(ret, compression_used)
self.__full_string = b''.join((pack_value(4, len(ret)), ret))
return self.__full_string
评论列表
文章目录