Exemplo n.º 1
0
        public static TaskAction <TResult> ProcessRequest <TInput, TResult>(this WebSocket session, TInput objectToSend, string Name, int timeoutMilliseconds = 60000)
        {
            Request <TInput> localRequest;
            bool             handled;
            TResult          result;
            _003C_003Ec__DisplayClass4_1 <TInput, TResult> @object;

            return(AsyncTask.StartNew(delegate
            {
                try
                {
                    DateTime t = DateTime.Now.AddMilliseconds(timeoutMilliseconds);
                    localRequest = (Request <TInput>) new Request <TInput>(objectToSend, Name);
                    handled = false;
                    result = (TResult)default(TResult);
                    OnResponseRecieved = (hd)Delegate.Combine(OnResponseRecieved, new hd(@object._003CProcessRequest_003Eg__OnResponse_007C1));
                    byte[] array = ((Request <TInput>)localRequest).SerializeProto();
                    session.Send(array, 0, array.Length);
                    while (t >= DateTime.Now && !handled)
                    {
                        Thread.Sleep(100);
                    }
                    OnResponseRecieved = (hd)Delegate.Remove(OnResponseRecieved, new hd(@object._003CProcessRequest_003Eg__OnResponse_007C1));
                    return (TResult)result;
                }
                catch (Exception value)
                {
                    Console.WriteLine(value);
                    return default(TResult);
                }
            }));
        }
Exemplo n.º 2
0
        // Token: 0x06000C62 RID: 3170 RVA: 0x000256A0 File Offset: 0x000238A0
        public static bool?OnResponse(this ResponseBase response)
        {
            hd onResponseRecieved = JJo.OnResponseRecieved;

            if (onResponseRecieved == null)
            {
                return(null);
            }
            return(new bool?(onResponseRecieved(response)));
        }