public void WriteMapField <K, V>(String name, short id, IThriftCodec <IDictionary <K, V> > codec, IDictionary <K, V> map) { if (map == null) { return; } Protocol.WriteFieldBegin(new TField(name, TType.Map, id)); codec.Write(map, Protocol); Protocol.WriteFieldEnd(); }
public void WriteListField <E>(String name, short id, IThriftCodec <IList <E> > codec, IList <E> list) { if (list == null) { return; } Protocol.WriteFieldBegin(new TField(name, TType.List, id)); codec.Write(list, Protocol); Protocol.WriteFieldEnd(); }
public void WriteSetField <E>(String name, short id, IThriftCodec <ISet <E> > codec, ISet <E> set) { if (set == null) { return; } Protocol.WriteFieldBegin(new TField(name, TType.Set, id)); codec.Write(set, Protocol); Protocol.WriteFieldEnd(); }
public void WriteStructField <T>(String name, short id, IThriftCodec <T> codec, T fieldValue) { if (fieldValue == null) { return; } Protocol.WriteFieldBegin(new TField(name, TType.Struct, id)); codec.Write(fieldValue, Protocol); Protocol.WriteFieldEnd(); }
public void WriteEnumField <T>(String name, short id, IThriftCodec <T> codec, T enumValue) where T : struct { if (enumValue.Equals(default(T))) { return; } Protocol.WriteFieldBegin(new TField(name, TType.I32, id)); codec.Write(enumValue, Protocol); Protocol.WriteFieldEnd(); }
public void WriteList <T>(IThriftCodec <T> elementCodec, IEnumerable <T> list) { if (list == null) { return; } Protocol.WriteListBegin(new TList(elementCodec.Type.ProtocolType.ToTType(), list.Count())); foreach (T element in list) { elementCodec.Write(element, Protocol); } Protocol.WriteListEnd(); }
public void WriteSet <T>(IThriftCodec <T> elementCodec, ISet <T> set) { if (set == null) { return; } Protocol.WriteSetBegin(new TSet(elementCodec.Type.ProtocolType.ToTType(), set.Count)); foreach (T element in set) { elementCodec.Write(element, Protocol); } Protocol.WriteSetEnd(); }
public void WriteMap <K, V>(IThriftCodec <K> keyCodec, IThriftCodec <V> valueCodec, IDictionary <K, V> map) { if (map == null) { return; } Protocol.WriteMapBegin(new TMap(keyCodec.Type.ProtocolType.ToTType(), valueCodec.Type.ProtocolType.ToTType(), map.Count)); foreach (var entry in map) { keyCodec.Write(entry.Key, Protocol); valueCodec.Write(entry.Value, Protocol); } Protocol.WriteMapEnd(); }
public void Write <T>(ThriftType type, T value, TProtocol protocol) { IThriftCodec <T> codec = GetCodec(type) as IThriftCodec <T>; codec.Write(value, protocol); }
public void Write(T value, TProtocol protocol) { Object thriftValue = _typeCoercion.ToThrift.DynamicInvoke(value); _codec.Write((T)thriftValue, protocol); }