src/main/java/org/cloudi/API.java
public void forward_async(final String name,
                              final byte[] request_info,
                              final byte[] request,
                              Integer timeout,
                              final Byte priority,
                              final byte[] trans_id,
                              final OtpErlangPid pid)
        throws ForwardAsyncException
    {
        try
        {
            OtpOutputStream forward_async = new OtpOutputStream();
            forward_async.write(OtpExternal.versionTag);
            final OtpErlangObject[] tuple = {new OtpErlangAtom("forward_async"),
                                             new OtpErlangString(name),
                                             new OtpErlangBinary(request_info),
                                             new OtpErlangBinary(request),
                                             new OtpErlangUInt(timeout),
                                             new OtpErlangInt(priority),
                                             new OtpErlangBinary(trans_id),
                                             pid};
            forward_async.write_any(new OtpErlangTuple(tuple));
            send(forward_async);
        }
        catch (OtpErlangRangeException e)
        {
            e.printStackTrace(API.err);
            return;
        }
        throw new ForwardAsyncException();
    }
public void forward_async(final String name,
                              final byte[] request_info,
                              final byte[] request,
                              Integer timeout,
                              final Byte priority,
                              final byte[] trans_id,
                              final OtpErlangPid pid)
        throws ForwardAsyncException
    {
        try
        {
            OtpOutputStream forward_async = new OtpOutputStream();
            forward_async.write(OtpExternal.versionTag);
            final OtpErlangObject[] tuple = {new OtpErlangAtom("forward_async"),
                                             new OtpErlangString(name),
                                             new OtpErlangBinary(request_info),
                                             new OtpErlangBinary(request),
                                             new OtpErlangUInt(timeout),
                                             new OtpErlangInt(priority),
                                             new OtpErlangBinary(trans_id),
                                             pid};
            forward_async.write_any(new OtpErlangTuple(tuple));
            send(forward_async);
        }
        catch (OtpErlangRangeException e)
        {
            e.printStackTrace(API.err);
            return;
        }
        throw new ForwardAsyncException();
    }
Asynchronously forward a message to another service
subscribed that matches the destination service <code>name</code>.

@param name          the destination service name
@param request_info  any request metadata
@param request       the request data
@param timeout       the request timeout in milliseconds
@param priority      the priority of this request
@param trans_id      the transaction ID
@param pid           the request's source process ID

@throws ForwardAsyncException async service request was forwarded