Exemplo n.º 1
0
    def test_construct(self):

        total = bytes.fromhex(
            "7EA02C02232110AF9FE6E600601DA109060760857405080101BE10040E01000000065F1F0400001E1DFFFFC5E47E"
        )
        information_part = bytes.fromhex(
            "E6E600601DA109060760857405080101BE10040E01000000065F1F0400001E1DFFFF"
        )
        server_address = address.HdlcAddress(logical_address=1,
                                             physical_address=17,
                                             address_type="server")

        # Public client
        client_address = address.HdlcAddress(logical_address=16,
                                             physical_address=None,
                                             address_type="client")
        frame = frames.InformationFrame(
            destination_address=server_address,
            source_address=client_address,
            payload=information_part,
            send_sequence_number=0,
            receive_sequence_number=0,
            segmented=False,
            final=True,
        )

        print(total)
        print(frame.to_bytes())
        assert frame.to_bytes() == total
Exemplo n.º 2
0
    def test_contruct(self):
        total = bytes.fromhex(
            "7EA0382102233034E7E6E7006129A109060760857405080101A203020100A305A103020100BE10040E0800065F1F0400001E1D04C80007B86A7E"
        )
        information_part = bytes.fromhex(
            "E6E7006129A109060760857405080101A203020100A305A103020100BE10040E0800065F1F0400001E1D04C80007"
        )
        server_address = address.HdlcAddress(logical_address=1,
                                             physical_address=17,
                                             address_type="server")

        # Public client
        client_address = address.HdlcAddress(logical_address=16,
                                             physical_address=None,
                                             address_type="client")
        frame = frames.InformationFrame(
            destination_address=client_address,
            source_address=server_address,
            payload=information_part,
            send_sequence_number=0,
            receive_sequence_number=1,
            segmented=False,
            final=True,
        )

        print(f"length = {frame.frame_length}  :: {len(frame.to_bytes())}")

        print(total.hex())
        print(frame.to_bytes().hex())
        assert frame.to_bytes() == total
Exemplo n.º 3
0
 def generate_information_frame(self, payload: bytes, segmented: bool,
                                final: bool) -> frames.InformationFrame:
     return frames.InformationFrame(
         destination_address=self.server_hdlc_address,
         source_address=self.client_hdlc_address,
         payload=payload,
         send_sequence_number=self.hdlc_connection.server_ssn,
         receive_sequence_number=self.hdlc_connection.server_rsn,
         segmented=segmented,
         final=final,
     )