示例#1
0
            public JSONRPCMessage Invoke(JSONRPCMessage msg)
            {
                mRPC.Send(msg);
                JSONRPCMessage ret = null;

                if (mRPC.TryGet(out ret))
                {
                    return(ret);
                }
                return(null);
            }
示例#2
0
 public JSONRPCMessage Invoke(JSONRPCMessage msg)
 {
     lock (channelLocker)
     {
         mInvoking = true;
         mRPC.Send(msg);
         JSONRPCMessage ret = null;
         if (mRPC.TryGet(out ret))
         {
             mInvoking = false;
             return(ret);
         }
         mInvoking = false;
     }
     return(null);
 }
示例#3
0
 IEnumerator Runner()
 {
     IsRunning = true;
     if (OnHandleRPC != null)
     {
         while (IsRunning)
         {
             JsonRpcServerHandleEventArgs args = new JsonRpcServerHandleEventArgs();
             if (mRPC.TryGet(out args.Input))
             {
                 OnHandleRPC(this, args);
                 mRPC.Send(args.Output);
             }
             yield return(true);
         }
     }
     IsRunning = false;
     yield break;
 }