Пример #1
0
    def test_create_control_block_length_value(self):
        data = 'Hello, world!'
        block = mux._create_control_block_length_value(
            channel_id=1,
            opcode=mux._MUX_OPCODE_ADD_CHANNEL_REQUEST,
            flags=0x7,
            value=data)
        expected = '\x1c\x01\x0dHello, world!'
        self.assertEqual(expected, block)

        data = 'a' * (2**8)
        block = mux._create_control_block_length_value(
            channel_id=2,
            opcode=mux._MUX_OPCODE_ADD_CHANNEL_RESPONSE,
            flags=0x0,
            value=data)
        expected = '\x21\x02\x01\x00' + data
        self.assertEqual(expected, block)

        data = 'b' * (2**16)
        block = mux._create_control_block_length_value(
            channel_id=3,
            opcode=mux._MUX_OPCODE_DROP_CHANNEL,
            flags=0x0,
            value=data)
        expected = '\x62\x03\x01\x00\x00' + data
        self.assertEqual(expected, block)
Пример #2
0
def _create_add_channel_request_frame(channel_id, encoding, encoded_handshake):
    if encoding != 0 and encoding != 1:
        raise ValueError('Invalid encoding')
    block = mux._create_control_block_length_value(
        channel_id, mux._MUX_OPCODE_ADD_CHANNEL_REQUEST, encoding,
        encoded_handshake)
    payload = mux._encode_channel_id(mux._CONTROL_CHANNEL_ID) + block
    return create_binary_frame(payload, mask=True)
Пример #3
0
def _create_add_channel_request_frame(channel_id, encoding, encoded_handshake):
    if encoding != 0 and encoding != 1:
        raise ValueError('Invalid encoding')
    block = mux._create_control_block_length_value(
               channel_id, mux._MUX_OPCODE_ADD_CHANNEL_REQUEST, encoding,
               encoded_handshake)
    payload = mux._encode_channel_id(mux._CONTROL_CHANNEL_ID) + block
    return create_binary_frame(payload, mask=True)
Пример #4
0
    def test_create_control_block_length_value(self):
        data = 'Hello, world!'
        block = mux._create_control_block_length_value(
            channel_id=1, opcode=mux._MUX_OPCODE_ADD_CHANNEL_REQUEST,
            flags=0x7, value=data)
        expected = '\x1c\x01\x0dHello, world!'
        self.assertEqual(expected, block)

        data = 'a' * (2 ** 8)
        block = mux._create_control_block_length_value(
            channel_id=2, opcode=mux._MUX_OPCODE_ADD_CHANNEL_RESPONSE,
            flags=0x0, value=data)
        expected = '\x21\x02\x01\x00' + data
        self.assertEqual(expected, block)

        data = 'b' * (2 ** 16)
        block = mux._create_control_block_length_value(
            channel_id=3, opcode=mux._MUX_OPCODE_DROP_CHANNEL,
            flags=0x0, value=data)
        expected = '\x62\x03\x01\x00\x00' + data
        self.assertEqual(expected, block)