Example #1
0
 def write(self, msg):
     """
     Write mesage to tansport.  msg should be a member of a valid `protobuf class <https://developers.google.com/protocol-buffers/docs/pythontutorial>`_ with a SerializeToString() method.
     """
     ser = msg.SerializeToString()
     header = struct.pack(">HL", mapping.get_type(msg), len(ser))
     self._write("##%s%s" % (header, ser), msg)
Example #2
0
    def write(self, msg):
        ser = msg.SerializeToString()
        header = struct.pack(">HL", mapping.get_type(msg), len(ser))
        data = bytearray(b"##" + header + ser)

        while len(data):
            # Report ID, data padded to 63 bytes
            chunk = b'?' + data[:63] + b'\0' * (63 - len(data[:63]))
            self._write_chunk(chunk)
            data = data[63:]
Example #3
0
    def write(self, msg):
        data = bytearray(msg.SerializeToString())

        header1 = struct.pack(">L", self.session_id)
        header2 = struct.pack(">LL", mapping.get_type(msg), len(data))

        data = header2 + data

        first = True
        while len(data):
            if first:
                # Magic characters, header1, header2, data padded to 64 bytes
                datalen = 62 - len(header1)
                chunk = b'?!' + header1 + data[:datalen] + b'\0' * (datalen - len(data[:datalen]))
            else:
                # Magic characters, header1, data padded to 64 bytes
                datalen = 63 - len(header1)
                chunk = b'?' + header1 + data[:datalen] + b'\0' * (datalen - len(data[:datalen]))

            self._write_chunk(chunk)
            data = data[datalen:]
            first = False
Example #4
0
 def write(self, msg):
     ser = msg.SerializeToString()
     header = struct.pack(">HL", mapping.get_type(msg), len(ser))
     self._write("##%s%s" % (header, ser))
Example #5
0
 def write(self, msg):
     ser = msg.SerializeToString()
     header = struct.pack(">HL", mapping.get_type(msg), len(ser))
     self._write("##%s%s" % (header, ser))