Ejemplo n.º 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);
        }
Ejemplo n.º 2
0
        /// <summary>ASN.1 encode SNMP version 1 trap</summary>
        /// <param name="buffer"><see cref="MutableByte"/> buffer to the end of which encoded values are appended.</param>
        public override void encode(MutableByte buffer)
        {
            MutableByte trapBuffer = new MutableByte();

            // encode the enterprise id & address
            _enterprise.encode(trapBuffer);

            _agentAddr.encode(trapBuffer);

            _generic.encode(trapBuffer);

            _specific.encode(trapBuffer);

            _timeStamp.encode(trapBuffer);

            _variables.encode(trapBuffer);
            MutableByte tmpBuffer = new MutableByte();

            BuildHeader(tmpBuffer, (byte)PduType.Trap, trapBuffer.Length);
            trapBuffer.Prepend(tmpBuffer);
            buffer.Append(trapBuffer);
        }