public JSONRPCMessage Invoke(JSONRPCMessage msg) { mRPC.Send(msg); JSONRPCMessage ret = null; if (mRPC.TryGet(out ret)) { return(ret); } return(null); }
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); }
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; }