示例#1
0
        internal override sealed void EncodeOverride(IBerOutput output)
        {
            if (IsDirty)
            {
                Update();
            }

            output.WriteBytes(_encodedFrameHeader);

            foreach (var node in this)
            {
                node.Encode(output);
            }

            output.WriteBytes(BerEncoding.IndefiniteLengthTerminator);
            output.Flush();
        }
示例#2
0
        /// <summary>
        /// Writes the binary BER representaion of this node and its children to output.
        /// </summary>
        /// <param name="output">The output to write to.</param>
        internal override void EncodeOverride(IBerOutput output)
        {
            if (IsDirty)
            {
                Update();
            }

            output.WriteBytes(_encodedHeader);

            var orderedNodes = OrderChildren(_nodes);

            foreach (var node in orderedNodes)
            {
                node.Encode(output);
            }

            if (Parent == null) // root node
            {
                output.Flush();
            }
        }
示例#3
0
        internal override sealed void EncodeOverride(IBerOutput output)
        {
            if(IsDirty)
            Update();

             output.WriteBytes(_encodedFrameHeader);

             foreach(var node in this)
            node.Encode(output);

             output.WriteBytes(BerEncoding.IndefiniteLengthTerminator);
             output.Flush();
        }