MCPcopy Create free account
hub / github.com/Vidimensional/Icmp-File-Transfer / __init__

Method __init__

IcmpPacket.py:37–66  ·  view source on GitHub ↗
(self, type_packet=0, code=0, seq_n=0, payload=0, raw_p=None)

Source from the content-addressed store, hash-verified

35class IcmpPacket (object):
36
37 def __init__ (self, type_packet=0, code=0, seq_n=0, payload=0, raw_p=None):
38 if raw_p :
39 p = struct.unpack('bbHHh56s', raw_p)
40 self.type_packet = p[0]
41 self.code = p[1]
42 self.checksum = p[2]
43 self.identifier = p[3]
44 self.seq_n = p[4]
45 self.payload = p[5]
46 else:
47 self.type_packet = type_packet
48 self.code = code
49 self.checksum = 0
50 self.identifier = os.getpid() & 0xFFFF
51 self.seq_n = seq_n
52 self.payload = payload
53
54 self.packet = None
55
56 header_fmt = 'bbHHh'
57 payload_fmt = '%ds' % (ICMP_PAYLOAD_SIZE)
58 packet_fmt = '!' + header_fmt + payload_fmt
59
60 self.packet = struct.pack(packet_fmt, self.type_packet, self.code,
61 self.checksum, self.identifier,
62 self.seq_n, str(self.payload))
63 self.calcule_checksum()
64 self.packet = struct.pack(packet_fmt, self.type_packet, self.code,
65 self.checksum, self.identifier,
66 self.seq_n, str(self.payload))
67
68
69 def __repr__ (self):

Callers

nothing calls this directly

Calls 1

calcule_checksumMethod · 0.95

Tested by

no test coverage detected