public override TList ReadListBegin()
 {
     TList list = new TList();
     ReadJSONArrayStart();
     list.ElementType = GetTypeIDForTypeName(ReadJSONString(false));
     list.Count = (int)ReadJSONInteger();
     return list;
 }
Ejemplo n.º 2
0
		public abstract void WriteListBegin(TList list);
Ejemplo n.º 3
0
		public TSet(TList list)
			: this(list.ElementType, list.Count)
		{
		}
Ejemplo n.º 4
0
 /** 
  * Write a list header.
  */
 public override void WriteListBegin(TList list)
 {
     WriteCollectionBegin(list.ElementType, list.Count);
 }
Ejemplo n.º 5
0
 public abstract Task WriteListBeginAsync(TList list);
Ejemplo n.º 6
0
        public override TList ReadListBegin()
        {
            TList list = new TList();
            list.ElementType = (TType)ReadByte();
            list.Count = ReadI32();

            return list;
        }
Ejemplo n.º 7
0
 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();
 }
Ejemplo n.º 10
0
        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;
            }
        }
Ejemplo n.º 11
0
 /**
  * Write a list header.
  */
 public override Task WriteListBeginAsync(TList list)
 {
     return WriteCollectionBeginAsync(list.ElementType, list.Count);
 }
Ejemplo n.º 12
0
 public override void WriteListBegin(TList list)
 {
     WriteByte((sbyte)list.ElementType);
     WriteI32(list.Count);
 }
Ejemplo n.º 13
0
 public override void WriteListBegin(TList list)
 {
     WriteJSONArrayStart();
     WriteJSONString(GetTypeNameForTypeID(list.ElementType));
     WriteJSONInteger(list.Count);
 }
Ejemplo n.º 14
0
 public TSet(TList list)
     : this(list.ElementType, 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;
        }
Ejemplo n.º 17
0
 public override void WriteListBegin(TList tList)  
 {
     WrappedProtocol.WriteListBegin(tList);
 }
 public override void WriteListBegin(TList list)
 {
 }
Ejemplo n.º 19
0
 public override void WriteListBegin(TList list)
 {
     WriteByte((byte)list.ElementType);
     WriteI32(list.Count);
 }
Ejemplo n.º 20
0
 public abstract void WriteListBegin(TList list);