internal static PooledBuffer CreatePacket(PacketContents contentType, int contentFlags, byte[] payload) { if (s_writer == null) s_writer = new CtpObjectWriter(); var wr = s_writer; wr.Clear(); wr.Write((byte)contentType); wr.Write(contentFlags); wr.Write(payload); return wr.TakeBuffer(); }
public override void Save(T?obj, CtpObjectWriter writer) { if (obj.HasValue) { m_serializeT.Save(obj.Value, writer); } else { //ToDo: What if the enum is a complex data type. writer.Write(null); } }
public void Save(bool isNull, T1 item1, T2 item2, CtpObjectWriter writer) { if (isNull) { writer.Write(false); } else { writer.Write(true); m_serializeT1.Save(item1, writer); m_serializeT2.Save(item2, writer); } }
public override void Save(TEnum obj, CtpObjectWriter writer) { if (obj == null) { writer.Write(-1); } else { writer.Write(obj.Count()); foreach (var item in obj) { m_serializeT.Save(item, writer); } } }
public override void Save(TDictionary obj, CtpObjectWriter writer) { if (obj == null) { writer.Write(CtpObject.Null); } else { writer.Write(obj.Count()); foreach (var item in obj) { m_serializeT.Save(false, item.Key, item.Value, writer); } } }
private void Test(List <CtpObject> data) { var wr = new CtpObjectWriter(); for (var x = 0; x < data.Count; x++) { var o = data[x]; wr.Write(o); } var rd = new CtpObjectReader(wr.ToArray()); for (var x = 0; x < data.Count; x++) { var o = data[x]; var oo = rd.Read(); if (!o.Equals(oo)) { throw new Exception($"Not Equal {o} {oo} on record {x}"); } } }
public override void Save(T obj, CtpObjectWriter writer) { if (obj == null) { if (m_isRootElement) { throw new Exception("Root element cannot be null"); } writer.Write(false); } else { if (BeforeSave != null) { foreach (var item in BeforeSave) { item(obj); } } if (!m_isRootElement) { writer.Write(true); } foreach (var item in m_records) { item.Save(obj, writer); } if (AfterSave != null) { foreach (var item in AfterSave) { item(obj); } } } }
public override void Save(object obj, CtpObjectWriter writer) { var item = m_get(obj); m_io.Save(item, writer); }
public override void Save(string obj, CtpObjectWriter writer) { writer.Write((CtpObject)obj); }
public override void Save(CtpCommand obj, CtpObjectWriter writer) { writer.Write((CtpObject)obj); }
public override void Save(char[] obj, CtpObjectWriter writer) { writer.Write((CtpObject)obj); }
public override void Save(byte[] obj, CtpObjectWriter writer) { writer.Write(obj); }
public override void Save(T obj, CtpObjectWriter writer) { writer.Write(obj.ToString()); }
public override void Save(T obj, CtpObjectWriter writer) { m_io.Save(obj, writer); }
public override void Save(KeyValuePair <TKey, TValue> obj, CtpObjectWriter writer) { writer.Write(true); m_serializeT.Save(false, obj.Key, obj.Value, writer); }
public NormalEncoder() { m_stream = new CtpObjectWriter(); Clear(); }
public override void Save(decimal obj, CtpObjectWriter writer) { writer.Write((CtpObject)obj); }
public MetadataRowEncoder(List <MetadataColumn> columns) { m_columns = columns; m_stream = new CtpObjectWriter(); }
public override void Save(CtpTime obj, CtpObjectWriter writer) { writer.Write((CtpObject)obj); }
public override void Save(ushort obj, CtpObjectWriter writer) { writer.Write((CtpObject)obj); }
public abstract void Save(T obj, CtpObjectWriter writer);
public override void Save(CtpNumeric?obj, CtpObjectWriter writer) { writer.Write((CtpObject)obj); }