Example #1
0
        /// <summary>
        /// Writes the data.
        /// </summary>
        /// <param name="graph">The graph.</param>
        /// <param name="additionalInfo">The additional information.</param>
        internal void WriteData(IFastBinarySerializable graph, object additionalInfo)
        {
            var startOfGraphPos = (int)BaseStream.Position;

            Write(FLengthBuffer, 0, FLengthBuffer.Length);
            graph.WriteData(this, additionalInfo);
            var graphSize = (int)BaseStream.Position - startOfGraphPos - FLengthBuffer.Length;

            BaseStream.Position = startOfGraphPos;
            var bGraphSize = BitConverter.GetBytes(graphSize);

            Write(bGraphSize, 0, bGraphSize.Length);
            Seek(0, SeekOrigin.End);
        }