package org.erlide.runtime.rpc; import com.ericsson.otp.erlang.OtpErlangObject; import com.ericsson.otp.erlang.OtpErlangPid; import com.ericsson.otp.erlang.OtpMbox; public interface IOtpRpc { // y RpcResult call_noexception(final String m, final String f, final String signature, final Object... a); // y (wrangler) RpcResult call_noexception(final long timeout, final String m, final String f, final String signature, final Object... args); // y RpcFuture async_call(final String m, final String f, final String signature, final Object... args) throws RpcException; RpcFuture async_call(final OtpErlangObject gleader, final String m, final String f, final String signature, final Object... args) throws RpcException; // n void async_call_cb(final IRpcCallback cb, final String m, final String f, final String signature, final Object... args) throws RpcException; void async_call_cb(final IRpcCallback cb, final long timeout, final String m, final String f, final String signature, final Object... args) throws RpcException; void async_call_cb(final IRpcCallback cb, final long timeout, final OtpErlangObject gleader, final String m, final String f, final String signature, final Object... args) throws RpcException; /** * Make a RPC but don't wait for any result. */ // y void cast(final String m, final String f, final String signature, final Object... args) throws RpcException; /** * Make a RPC but don't wait for any result. */ void cast(final OtpErlangObject gleader, final String m, final String f, final String signature, final Object... args) throws RpcException; /** * Make a regular RPC to the given node, with the given arguments. */ // y OtpErlangObject call(final String m, final String f, final String signature, final Object... a) throws RpcException; /** * Make a regular RPC to the given node, with the given arguments. */ // y OtpErlangObject call(final long timeout, final String m, final String f, final String signature, final Object... a) throws RpcException; /** * Make a regular RPC to the given node, with the given arguments. */ OtpErlangObject call(final long timeout, final OtpErlangObject gleader, final String m, final String f, final String signature, final Object... a) throws RpcException; /** * Calls a function that supports sending progress reports back. The first * argument is implicit and is the pid where the reports are to be sent. */ // y void async_call_result(final IRpcResultCallback cb, final String m, final String f, final String signature, final Object... args) throws RpcException; /** * Convenience method to send a remote message. */ // y void send(final OtpErlangPid pid, final Object msg); /** * Convenience method to send a remote message. */ // y void send(final String name, final Object msg); /** * Convenience method to send a remote message. */ // n void send(final String fullNodeName, final String name, final Object msg); // y (RpcFuture) OtpErlangObject getRpcResult(OtpMbox mbox, long timeout, String env) throws RpcException; // y (ErlRuntime) void setConnected(boolean b); }