-
Notifications
You must be signed in to change notification settings - Fork 0
/
packet.py
executable file
·43 lines (33 loc) · 969 Bytes
/
packet.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class PacketType:
DataPacket = 0
ACKPacket = 1
EOTPacket = 2
class Packet:
def __init__(self):
self.packetType = 0
self.sequenceNum = 0
self.packetLength = 0
self.payload = None
def changePacketType(self, typeNum):
self.packetType = typeNum
def changeSequenceNum(self, seqNum):
self.sequenceNum = seqNum
def updateEmptyPacketLength(self):
self.packetLength = 12
def overridePacketLength(self, lenOfPayload):
self.packetLength = 12 + lenOfPayload
@property
def total_packet_length(self):
return self.packetLength
@property
def packet_length(self):
return self.packetLength - 12
@property
def packet_type(self):
return self.packetType
@property
def sequence_num(self):
return self.sequenceNum
@property
def payload(self):
return self.payload