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); }
/// <summary> /// Write element to stream /// </summary> protected internal void WriteToStream(Stream stream) { BinUtils.WriteByte(stream, (byte)ElementType); BinUtils.WriteCString(stream, Name); WriteValueToStream(stream); }
protected internal override void WriteValueToStream(Stream stream) { BinUtils.WriteInt32(stream, Value.Data.Length); BinUtils.WriteByte(stream, (byte)Value.Type); BinUtils.WriteBinary(stream, Value.Data); }
protected internal override void WriteValueToStream(Stream stream) { var b = Value ? (byte)BSONBoolean.True : (byte)BSONBoolean.False; BinUtils.WriteByte(stream, b); }