Example #1
0
        /// <summary>BER encode the variable binding
        /// </summary>
        /// <param name="buffer"><see cref="MutableByte"/> class to the end of which encoded variable
        /// binding values will be added.
        /// </param>
        public override void Encode(MutableByte buffer)
        {
            // encode oid to the temporary buffer
            MutableByte oidbuf = new MutableByte();

            _oid.Encode(oidbuf);
            // encode value to a temporary buffer
            MutableByte valbuf = new MutableByte();

            _value.Encode(valbuf);

            // calculate data content length of the vb
            int vblen = oidbuf.Length + valbuf.Length;

            // encode vb header at the end of the result
            BuildHeader(buffer, Type, vblen);
            // add values to the encoded arrays to the end of the result
            buffer.Append(oidbuf);
            buffer.Append(valbuf);
        }