public void Decode()
        {
            ControlResponse response = new ControlResponse();
            response.wireDecode(TestControlResponse1);

            Assert.AssertEquals(response.getStatusCode(), 404);
            Assert.AssertEquals(response.getStatusText(), "Nothing not found");
            Assert.AssertEquals(response.getBodyAsControlParameters().getFaceId(), 10);
        }
Esempio n. 2
0
        /// <summary>
        /// Encode controlResponse in NDN-TLV and return the encoding.
        /// </summary>
        ///
        /// <param name="controlResponse">The ControlResponse object to encode.</param>
        /// <returns>A Blob containing the encoding.</returns>
        public override Blob encodeControlResponse(ControlResponse controlResponse)
        {
            TlvEncoder encoder = new TlvEncoder(256);
            int saveLength = encoder.getLength();

            // Encode backwards.

            // Encode the body.
            if (controlResponse.getBodyAsControlParameters() != null)
                encodeControlParameters(
                        controlResponse.getBodyAsControlParameters(), encoder);

            encoder.writeBlobTlv(net.named_data.jndn.encoding.tlv.Tlv.NfdCommand_StatusText, new Blob(
                    controlResponse.getStatusText()).buf());
            encoder.writeNonNegativeIntegerTlv(net.named_data.jndn.encoding.tlv.Tlv.NfdCommand_StatusCode,
                    controlResponse.getStatusCode());

            encoder.writeTypeAndLength(net.named_data.jndn.encoding.tlv.Tlv.NfdCommand_ControlResponse,
                    encoder.getLength() - saveLength);

            return new Blob(encoder.getOutput(), false);
        }