Exemple #1
0
        internal void WriteAsBSONCore(Stream stream)
        {
            var docSize = this.GetByteSize(false);//gets cached value

            BinUtils.WriteInt32(stream, docSize);
            var cnt = m_List.Count;

            for (var i = 0; i < cnt; i++)
            {
                var elm = m_List[i];
                elm.WriteToStream(stream);
            }
            BinUtils.WriteTerminator(stream); //x00
        }
Exemple #2
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);
        }