Esempio n. 1
0
    def runTest(self):
        """
        Test fixed-length integer read-in
        """
        from StringIO import StringIO
        from mysqlproxy.types import FixedLengthInteger

        # wire read tests
        proto_buf = StringIO(b'\x01\x00\x00\x25')
        fli = FixedLengthInteger(3)
        fli.read_in(proto_buf)
        self.assertEqual(fli.val, 1)

        # wire write tests
        proto_buf = StringIO()
        fli = FixedLengthInteger(3, 1)
        fli.write_out(proto_buf)
        self.assertEqual(proto_buf.getvalue(), b'\x01\x00\x00')
Esempio n. 2
0
    def runTest(self):
        """
        Test fixed-length integer read-in
        """
        from StringIO import StringIO
        from mysqlproxy.types import FixedLengthInteger

        # wire read tests
        proto_buf = StringIO(b'\x01\x00\x00\x25')
        fli = FixedLengthInteger(3)
        fli.read_in(proto_buf)
        self.assertEqual(fli.val, 1)

        # wire write tests
        proto_buf = StringIO()
        fli = FixedLengthInteger(3, 1)
        fli.write_out(proto_buf)
        self.assertEqual(proto_buf.getvalue(), b'\x01\x00\x00')
Esempio n. 3
0
 def read_in(self, fde):
     """
     Read in full payload
     """
     total_read = 0
     packet_length = FixedLengthInteger(3, 0xffffff)
     seq_id = FixedLengthInteger(1)
     self.payload = StringIO()
     while packet_length.val == 0xffffff:
         packet_length.read_in(fde, label=None)
         seq_id.read_in(fde, label=None)
         cur_payload = FixedLengthString(packet_length.val)
         cur_payload.read_in(fde, label=None)
         self.payload.write(cur_payload.val)
         self.packet_meta.append(PacketMeta(packet_length.val, seq_id.val))
         total_read += packet_length.val
     self.seq_id = seq_id.val
     self.payload.seek(0)
     return total_read
Esempio n. 4
0
 def read_in(self, fde):
     """
     Read in full payload
     """
     total_read = 0
     packet_length = FixedLengthInteger(3, 0xffffff)
     seq_id = FixedLengthInteger(1)
     self.payload = StringIO()
     while packet_length.val == 0xffffff:
         packet_length.read_in(fde, label=None)
         seq_id.read_in(fde, label=None)
         cur_payload = FixedLengthString(packet_length.val)
         cur_payload.read_in(fde, label=None)
         self.payload.write(cur_payload.val)
         self.packet_meta.append(PacketMeta(packet_length.val, seq_id.val))
         total_read += packet_length.val
     self.seq_id = seq_id.val
     self.payload.seek(0)
     return total_read