Beispiel #1
0
 protected override void DoSerializeBix(BixWriter wri, byte[] entry)
 => wri.Write(entry);
        protected override ArraySegment <byte> DoSerialize(Message entry)
        {
            m_Stream.SetLength(0);

            if (entry == null)
            {
                m_Writer.Write(false); //NULL
            }
            else
            {
                m_Writer.Write(true);                                                          // NON-NULL

                m_Writer.Write(entry.Gdid.IsZero ? (GDID?)null : entry.Gdid);                  //nullable Gdid will consume 1 byte instead of 12 zeros
                m_Writer.Write(entry.Guid);
                m_Writer.Write(entry.RelatedTo == Guid.Empty ? (Guid?)null : entry.RelatedTo); //nullable Guid takes 1 byte instead of 16
                m_Writer.Write(entry.Channel);
                m_Writer.Write(entry.App);
                m_Writer.Write((int)entry.Type);
                m_Writer.Write(entry.Source);
                m_Writer.Write(entry.UTCTimeStamp);

                m_Writer.Write(entry.Host);
                m_Writer.Write(entry.From);
                m_Writer.Write(entry.Topic);
                m_Writer.Write(entry.Text);
                m_Writer.Write(entry.Parameters);
                m_Writer.Write(entry.ArchiveDimensions);

                string edata = null;
                if (entry.ExceptionData != null)
                {
                    edata = JsonWriter.Write(entry.ExceptionData, JsonWritingOptions.CompactRowsAsMap);
                }
                m_Writer.Write(edata);
            }

            return(new ArraySegment <byte>(m_Stream.GetBuffer(), 0, (int)m_Stream.Length));
        }
Beispiel #3
0
 protected override void DoSerializeBix(BixWriter wri, string entry)
 => wri.Write(entry);
Beispiel #4
0
        protected override void DoSerializeBix(BixWriter wri, object entry)
        {
            string json = entry == null ? null : JsonWriter.Write(entry, JsonWritingOptions.CompactRowsAsMap);

            wri.Write(json);
        }
Beispiel #5
0
 protected override void DoSerializeBix(BixWriter wri, StringBookmark entry)
 {
     wri.Write(entry.Value);
     wri.Write(entry.Bookmark.PageId);
     wri.Write(entry.Bookmark.Address);
 }