view src/main/java/net/borgac/clusterrpc/client/OutgoingFilter.java @ 11:593822c857b7 default tip

Enable true correlation in SocketWrapper This allows applications to send a batch of messages at once and later still receive the correct responses to every request.
author Lewin Bormann <lbo@spheniscida.de>
date Sun, 25 Sep 2016 15:19:20 +0200
parents 7da0ba664d74
children
line wrap: on
line source

package net.borgac.clusterrpc.client;

/**
 * OutgoingFilters are used to influence the behavior of outgoing RPCs.
 *
 * An outgoing RPC is given to the first filter, which can modify the request;
 * after doing its work, it gives the request to the next filter down the stack
 * until the final SendFilter is encountered, which sends the request.
 *
 * After a response has been received, it goes up through the stack of filters,
 * which then can modify or act on the response (for example, retry a failed
 * request or log something).
 *
 * @author lbo
 */
public interface OutgoingFilter {

    /**
     * Set the filter that this filter will call.
     *
     * @param inner
     */
    void setInner(OutgoingFilter inner);

    Response go(Request request) throws RpcException;
}