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}