示例#1
0
 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
示例#2
0
 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