public override TList ReadListBegin() { TList list = new TList(); ReadJSONArrayStart(); list.ElementType = GetTypeIDForTypeName(ReadJSONString(false)); list.Count = (int)ReadJSONInteger(); return list; }
public abstract void WriteListBegin(TList list);
public TSet(TList list) : this(list.ElementType, list.Count) { }
/** * Write a list header. */ public override void WriteListBegin(TList list) { WriteCollectionBegin(list.ElementType, list.Count); }
public abstract Task WriteListBeginAsync(TList list);
public override TList ReadListBegin() { TList list = new TList(); list.ElementType = (TType)ReadByte(); list.Count = ReadI32(); return list; }
public override async Task WriteListBeginAsync(TList list, CancellationToken cancellationToken) { await WriteJsonArrayStartAsync(cancellationToken); await WriteJsonStringAsync(TJSONProtocolHelper.GetTypeNameForTypeId(list.ElementType), cancellationToken); await WriteJsonIntegerAsync(list.Count, cancellationToken); }
public override TList ReadListBegin() { TList list = new TList(); ReadJSONArrayStart(); list.ElementType = TType.Struct; list.Count = 1; // hack for now return list; }
public override void WriteListBegin(TList list) { WriteJSONArrayStart(); }
public static void Skip(TProtocol prot, TType type) { switch (type) { case TType.Bool: prot.ReadBool(); break; case TType.Byte: prot.ReadByte(); break; case TType.I16: prot.ReadI16(); break; case TType.I32: prot.ReadI32(); break; case TType.I64: prot.ReadI64(); break; case TType.Double: prot.ReadDouble(); break; case TType.String: // Don't try to decode the string, just skip it. prot.ReadBinary(); break; case TType.Struct: prot.ReadStructBegin(); while (true) { TField field = prot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } Skip(prot, field.Type); prot.ReadFieldEnd(); } prot.ReadStructEnd(); break; case TType.Map: TMap map = prot.ReadMapBegin(); for (int i = 0; i < map.Count; i++) { Skip(prot, map.KeyType); Skip(prot, map.ValueType); } prot.ReadMapEnd(); break; case TType.Set: TSet set = prot.ReadSetBegin(); for (int i = 0; i < set.Count; i++) { Skip(prot, set.ElementType); } prot.ReadSetEnd(); break; case TType.List: TList list = prot.ReadListBegin(); for (int i = 0; i < list.Count; i++) { Skip(prot, list.ElementType); } prot.ReadListEnd(); break; } }
/** * Write a list header. */ public override Task WriteListBeginAsync(TList list) { return WriteCollectionBeginAsync(list.ElementType, list.Count); }
public override void WriteListBegin(TList list) { WriteByte((sbyte)list.ElementType); WriteI32(list.Count); }
public override void WriteListBegin(TList list) { WriteJSONArrayStart(); WriteJSONString(GetTypeNameForTypeID(list.ElementType)); WriteJSONInteger(list.Count); }
public override void WriteMessageBegin(TMessage message) { WriteBasicString("v="); WriteBasicNumber(VERSION); WriteBasicString("&p="); // short-circuit the pseudo-DAPI wrapper if performing a raw DAPI call if (message.ServiceName == "DAPI") { this.startedDAPIRequest = true; return; } // Since most components in the DAPI protocol are // not ordered, just pass in basic data TField field = new TField(); field.Type = TType.Void; field.ID = -1; TStruct tstruct = new TStruct(); this.startedWrite = true; this.WriteStructBegin(tstruct); // DAPIRequest { // userToken : { ... }, if (this.userToken != null) { field.Name = "userToken"; this.WriteFieldBegin(field); //TODO: Map out the Dictionary<string, object> in the userToken field of this class. this.WriteFieldEnd(); } // appToken : { ... }, if (this.appToken != null) { field.Name = "appToken"; this.WriteFieldBegin(field); this.WriteStructBegin(tstruct); foreach (KeyValuePair<String,String> entry in this.appToken as Dictionary<string, string>) { field.Name = entry.Key; WriteFieldBegin(field); WriteString(entry.Value); WriteFieldEnd(); } this.WriteStructEnd(); this.WriteFieldEnd(); } // stringToken : "...", if (this.stringToken != null) { field.Name = "stringToken"; this.WriteFieldBegin(field); this.WriteString(this.stringToken); this.WriteFieldEnd(); } // calls : [ ... field.Name = "calls"; this.WriteFieldBegin(field); TList list = new TList(); this.WriteListBegin(list); // { 'method' : name, this.WriteStructBegin(tstruct); field.Name = "method"; this.WriteFieldBegin(field); this.WriteString(message.ServiceName.ToLower() + "." + message.Name); this.WriteFieldEnd(); // 'args', { ... field.Name = "argz"; this.WriteFieldBegin(field); this.startedArguments = true; }
public override void WriteListBegin(TList tList) { WrappedProtocol.WriteListBegin(tList); }
public override void WriteListBegin(TList list) { }
public override void WriteListBegin(TList list) { WriteByte((byte)list.ElementType); WriteI32(list.Count); }