/** * Fires XML-RPC call and gets the job done, then returns Brunet Rpc result. * * Calls to this method come from Brunet, go to XML-RPC and return * to Brunet Overlay. So conversion needed from Adr->XmlRpc.Net->Adr */ public void BrunetRpc2XmlRpc(object xmlrpcCallState) { XmlRpcCallState state = (XmlRpcCallState)xmlrpcCallState; object ret = null; try { ret = state.XmlRpcCall(state.MethodArgs); ret = AdrXmlRpcConverter.XmlRpc2Adr(ret); } catch (Exception e) { Debug.WriteLine(e); ret = new AdrException(-32602, e); } finally { _node.EnqueueAction(new RpcSendResultAction(_rpc, state.RequestState, ret)); } }