예제 #1
0
            def test_main(self):
                t = time.time()
                p1 = Packet(    1,      2,      "3", 4, t)
                p2 = Packet(src=1, dest=2, data="3", delivered_from=4, time=t)
                self.assertEqual(p1, p2)
                self.assertEqual(p1.src,  1)
                self.assertEqual(p1.dest, 2)
                self.assertEqual(p1.data, "3")
                self.assertEqual(p1.time, t)

                d1 = packet_to_datagram(p1, 30)
                self.assertEqual(d1,
                    datagram(30, p1.src, p1.dest, p1.data +
                        struct.pack("d", t)))

                d1_type, p1_ = datagram_to_packet(d1, 4)
                self.assertEqual(d1_type, d1.type)
                self.assertEqual(p1_, p1)
                self.assertEqual(p1_.time, p1.time)
예제 #2
0
def packet_to_datagram(packet, protocol):
    time_data = struct.pack("d", packet.time)
    return datagram(type=protocol, src=packet.src,
        dest=packet.dest,
        data=packet.data + time_data)