(self, data, offset)
| 23 | self.data = '' |
| 24 | |
| 25 | def decode(self, data, offset): |
| 26 | data_len = len(data) |
| 27 | |
| 28 | if data_len < offset + self.HEADER_STRUCT_SIZE: |
| 29 | # Not enough data for decoding |
| 30 | return 0 |
| 31 | |
| 32 | self.reset() |
| 33 | self.type, self.flags, length = struct.unpack(self.HEADER_STRUCT_FORMAT, data[offset:offset+self.HEADER_STRUCT_SIZE]) |
| 34 | |
| 35 | if self.flags & 0x01: |
| 36 | length |= 0x010000 |
| 37 | |
| 38 | if data_len < offset + self.HEADER_STRUCT_SIZE + length: |
| 39 | return 0 |
| 40 | |
| 41 | self.data = data[offset+self.HEADER_STRUCT_SIZE:offset+self.HEADER_STRUCT_SIZE+length] |
| 42 | return self.HEADER_STRUCT_SIZE + length |
| 43 | |
| 44 | class DirectTCPSessionMessage(NMBSessionMessage): |
| 45 |
no test coverage detected