Beispiel #1
0
        /**
         * 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));
            }
        }