    001package com.hammurapi.common.concurrent;
    002
    003import java.util.concurrent.Future;
    004
    005/**
    006 * Synapse is a liaison between invoker and invocable. Synapse iterates over arguments of type
    007 * ArgumentIterator and can perform invocation asynchronously, potentially in a different process,
    008 * using provided executor service. Synapse converts arguments to expected argument type if
    009 * required, chains invocation property sets and controls length of invocation chain to prevent
    010 * infinite invocations.
    011 * @author Pavel Vlasov
    012 *
    013 * @param <R>
    014 */
    015public interface Synapse<C, R, K, E extends Exception> extends Invoker<C, R, K, E>, Invocable<C, Future<Iterable<R>>, K, E> {
    016
    017}