示例#1
0
        protected internal override void WriteValueToStream(Stream stream)
        {
            var length = 1 +                                                              // string terminator
                         (Value == null ? 0 : BinUtils.UTF8Encoding.GetByteCount(Value)); // string UTF8 length

            BinUtils.WriteInt32(stream, length);
            BinUtils.WriteCString(stream, Value ?? string.Empty);
        }
示例#2
0
        protected internal override void WriteValueToStream(Stream stream)
        {
            BinUtils.WriteInt32(stream, GetValueByteSize(false));
            var length = 1 +                                             // string terminator
                         BinUtils.UTF8Encoding.GetByteCount(Value.Code); // string UTF8 length

            BinUtils.WriteInt32(stream, length);
            BinUtils.WriteCString(stream, Value.Code);
            Value.Scope.WriteAsBSONCore(stream);
        }
示例#3
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);
        }
示例#4
0
 /// <summary>
 /// Write element to stream
 /// </summary>
 protected internal void WriteToStream(Stream stream)
 {
     BinUtils.WriteByte(stream, (byte)ElementType);
     BinUtils.WriteCString(stream, Name);
     WriteValueToStream(stream);
 }
示例#5
0
 protected internal override void WriteValueToStream(Stream stream)
 {
     BinUtils.WriteCString(stream, Value.Pattern ?? string.Empty);
     BinUtils.WriteCString(stream, Value.Options.ToBSONString());
 }