def encode(self, packet: Packet) -> bytearray: """ Python object (PiCN's internal representation) to NDN TLV wire format :param packet: Packet in PiCN's representation :return: Packet in NDN TLV representation """ if isinstance(packet, Interest): self.logger.info("Encode interest") if isinstance(packet.wire_format, bytes): return packet.wire_format else: return self.encode_interest(packet.name) if isinstance(packet, Content): self.logger.info("Encode content object") if isinstance(packet.wire_format, bytes): return packet.wire_format else: return self.encode_data(packet.name, packet.get_bytes()) if isinstance(packet, Nack): self.logger.info("Encode NACK") if isinstance(packet.wire_format, bytes): return packet.wire_format else: return self.encode_nack(packet.name, packet.reason, packet.interest) if isinstance(packet, UnknownPacket): self.logger.info("Encode UnknownPacket") return packet.wire_format
def encode(self, packet: Packet) -> bytearray: if isinstance(packet, Interest): self.logger.info("Encode interest") if isinstance(packet.wire_format, bytes): return packet.wire_format else: return self.encode_interest(packet.name) if isinstance(packet, Content): self.logger.info("Encode content object") if isinstance(packet.wire_format, bytes): return packet.wire_format else: return self.encode_data(packet.name, packet.get_bytes()) if isinstance(packet, Nack): self.logger.info("Encode NACK") if isinstance(packet.wire_format, bytes): return packet.wire_format else: return self.encode_nack(packet.name, packet.reason, packet.interest) if isinstance(packet, Heartbeat): self.logger.info("Encode Heartbeat") if isinstance(packet.wire_format, bytes): return packet.wire_format else: return self.encode_heartbeat(packet.name) if isinstance(packet, UnknownPacket): self.logger.info("Encode UnknownPacket") return packet.wire_format