Esempio n. 1
0
 public void Read (TProtocol iprot)
 {
   TField field;
   iprot.ReadStructBegin();
   while (true)
   {
     field = iprot.ReadFieldBegin();
     if (field.Type == TType.Stop) { 
       break;
     }
     switch (field.ID)
     {
       case 1:
         if (field.Type == TType.Struct) {
           Header = new Header();
           Header.Read(iprot);
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       case 2:
         if (field.Type == TType.I32) {
           Key = iprot.ReadI32();
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       default: 
         TProtocolUtil.Skip(iprot, field.Type);
         break;
     }
     iprot.ReadFieldEnd();
   }
   iprot.ReadStructEnd();
 }
Esempio n. 2
0
        public void Read(TProtocol iprot)
        {
            TField field;

            iprot.ReadStructBegin();
            while (true)
            {
                field = iprot.ReadFieldBegin();
                if (field.Type == TType.Stop)
                {
                    break;
                }
                switch (field.ID)
                {
                case 1:
                    if (field.Type == TType.Struct)
                    {
                        Header = new Header();
                        Header.Read(iprot);
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                case 2:
                    if (field.Type == TType.Map)
                    {
                        {
                            Container = new Dictionary <string, string>();
                            TMap _map0 = iprot.ReadMapBegin();
                            for (int _i1 = 0; _i1 < _map0.Count; ++_i1)
                            {
                                string _key2;
                                string _val3;
                                _key2            = iprot.ReadString();
                                _val3            = iprot.ReadString();
                                Container[_key2] = _val3;
                            }
                            iprot.ReadMapEnd();
                        }
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                default:
                    TProtocolUtil.Skip(iprot, field.Type);
                    break;
                }
                iprot.ReadFieldEnd();
            }
            iprot.ReadStructEnd();
        }
Esempio n. 3
0
        public void Read(TProtocol iprot)
        {
            TField field;

            iprot.ReadStructBegin();
            while (true)
            {
                field = iprot.ReadFieldBegin();
                if (field.Type == TType.Stop)
                {
                    break;
                }
                switch (field.ID)
                {
                case 1:
                    if (field.Type == TType.Struct)
                    {
                        Header = new Header();
                        Header.Read(iprot);
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                case 2:
                    if (field.Type == TType.Bool)
                    {
                        Ivalue = iprot.ReadBool();
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                case 3:
                    if (field.Type == TType.String)
                    {
                        Value = iprot.ReadString();
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                default:
                    TProtocolUtil.Skip(iprot, field.Type);
                    break;
                }
                iprot.ReadFieldEnd();
            }
            iprot.ReadStructEnd();
        }
Esempio n. 4
0
    public void OnWebSocketWithThriftTestClick()
    {
        ThriftHandler <idl.Protocol> thandler = new ThriftHandler <idl.Protocol> ();

        thandler.AddHandler(idl.Protocol.Test1, (idl.TestAck ack) => {
            Debug.Log("Laputa says: " + ack.ToString());
        });

        thandler.AddHandler(idl.Protocol.Test2, (idl.Test2Ack ack) => {
            Debug.Log("Laputa says: " + ack.ToString());
        });

        WebSocket ws = new WebSocket("ws://127.0.0.1:8091/chat/1");

        ws.OnMessage += (sender, e) => {
            MemoryStream stream = new MemoryStream(e.RawData);
            Thrift.Protocol.TProtocol tProtocol = new Thrift.Protocol.TBinaryProtocol(new Thrift.Transport.TStreamTransport(stream, null));
            tProtocol.ReadStructBegin();
            tProtocol.ReadFieldBegin();
            idl.Header header = new idl.Header();
            header.Read(tProtocol);
            stream.Position = 0;

            thandler.DoHandle(header.Key, tProtocol);
        };

        ws.OnOpen += (object sender, System.EventArgs e) => {
            idl.TestReq shared = new idl.TestReq();
            shared.Header     = new idl.Header();
            shared.Header.Key = idl.Protocol.Test1;
            shared.Key        = 11;
            shared.Value      = "aaa";

            ws.SendAsync(shared, (bool s) => {
                Debug.Log("sent :" + s);
            });
        };

        ws.OnError += (object sender, NetworkLib.WebSocketSharp.ErrorEventArgs e) => {
            Debug.Log("error :" + e.Exception.Message);
        };

        ws.OnClose += (object sender, CloseEventArgs e) => {
            Debug.Log("close");
        };

        ws.ConnectAsync();
    }
Esempio n. 5
0
 public void Read (TProtocol iprot)
 {
   TField field;
   iprot.ReadStructBegin();
   while (true)
   {
     field = iprot.ReadFieldBegin();
     if (field.Type == TType.Stop) { 
       break;
     }
     switch (field.ID)
     {
       case 1:
         if (field.Type == TType.Struct) {
           Header = new Header();
           Header.Read(iprot);
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       case 2:
         if (field.Type == TType.Map) {
           {
             Container = new Dictionary<string, string>();
             TMap _map0 = iprot.ReadMapBegin();
             for( int _i1 = 0; _i1 < _map0.Count; ++_i1)
             {
               string _key2;
               string _val3;
               _key2 = iprot.ReadString();
               _val3 = iprot.ReadString();
               Container[_key2] = _val3;
             }
             iprot.ReadMapEnd();
           }
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       default: 
         TProtocolUtil.Skip(iprot, field.Type);
         break;
     }
     iprot.ReadFieldEnd();
   }
   iprot.ReadStructEnd();
 }
Esempio n. 6
0
	public void OnWebSocketWithThriftTestClick()
	{
		ThriftHandler<idl.Protocol> thandler = new ThriftHandler<idl.Protocol> ();

		thandler.AddHandler(idl.Protocol.Test1, (idl.TestAck ack) => {
			Debug.Log("Laputa says: " + ack.ToString());
		});

		thandler.AddHandler(idl.Protocol.Test2, (idl.Test2Ack ack) => {
			Debug.Log("Laputa says: " + ack.ToString());
		});

		WebSocket ws = new WebSocket ("ws://127.0.0.1:8091/chat/1");
		ws.OnMessage += (sender, e) =>{

			MemoryStream stream = new MemoryStream(e.RawData);
			Thrift.Protocol.TProtocol tProtocol = new Thrift.Protocol.TBinaryProtocol(new Thrift.Transport.TStreamTransport(stream, null));
			tProtocol.ReadStructBegin();
			tProtocol.ReadFieldBegin();
			idl.Header header = new idl.Header();
			header.Read(tProtocol);
			stream.Position = 0;

			thandler.DoHandle(header.Key, tProtocol);

		};
		
		ws.OnOpen += (object sender, System.EventArgs e) => {
			idl.TestReq shared = new idl.TestReq();
			shared.Header = new idl.Header();
			shared.Header.Key = idl.Protocol.Test1;
			shared.Key = 11;
			shared.Value = "aaa";

			ws.SendAsync (shared, (bool s) =>{
				Debug.Log("sent :" + s);
			});
		};
		
		ws.OnError += (object sender, NetworkLib.WebSocketSharp.ErrorEventArgs e) => {
			Debug.Log("error :" + e.Exception.Message);
		};
		
		ws.OnClose += (object sender, CloseEventArgs e) => {
			Debug.Log("close");
		};
		
		ws.ConnectAsync();
	}