Beispiel #1
0
        protected internal override void WriteValueToStream(Stream stream)
        {
            //Arrays are written as surrogated documents
            var valueSize = getValueByteSize(false);

            BinUtils.WriteInt32(stream, valueSize);
            for (int i = 0; i < Value.Length; i++)
            {
                var element = Value[i];
                BinUtils.WriteByte(stream, (byte)element.ElementType);
                BinUtils.WriteCString(stream, i.ToString(CultureInfo.InvariantCulture));
                element.WriteValueToStream(stream);
            }
            BinUtils.WriteTerminator(stream);
        }
Beispiel #2
0
 /// <summary>
 /// Write element to stream
 /// </summary>
 protected internal void WriteToStream(Stream stream)
 {
     BinUtils.WriteByte(stream, (byte)ElementType);
     BinUtils.WriteCString(stream, Name);
     WriteValueToStream(stream);
 }
Beispiel #3
0
 protected internal override void WriteValueToStream(Stream stream)
 {
     BinUtils.WriteInt32(stream, Value.Data.Length);
     BinUtils.WriteByte(stream, (byte)Value.Type);
     BinUtils.WriteBinary(stream, Value.Data);
 }
Beispiel #4
0
        protected internal override void WriteValueToStream(Stream stream)
        {
            var b = Value ? (byte)BSONBoolean.True : (byte)BSONBoolean.False;

            BinUtils.WriteByte(stream, b);
        }