# message.py # Author: Meghan Clark import struct import binascii import sys BROADCAST_MAC = "00:00:00:00:00:00" BROADCAST_SOURCE_ID = 0 HEADER_SIZE_BYTES = 36 class Message(object): def __init__( self, msg_type, target_addr, source_id, seq_num, ack_requested=False, response_requested=False, ): # Frame self.frame_format = ["" s += "\n" s += indent + "Bytes:\n" s += indent * 2 + str( [ hex(b) for b in struct.unpack( "B" * (len(self.packed_message)), self.packed_message ) ] ) s += "\n" return s # reverses bytes for little endian, then converts to int def convert_MAC_to_int(addr): reverse_bytes_str = addr.split(":") reverse_bytes_str.reverse() addr_str = "".join(reverse_bytes_str) return int(addr_str, 16) def little_endian(bs): return bytes(reversed(bs.bytes))