package edu.uw.zookeeper.protocol.client;
import com.google.common.util.concurrent.ListenableFuture;
import edu.uw.zookeeper.client.ClientExecutor;
import edu.uw.zookeeper.protocol.ConnectMessage;
import edu.uw.zookeeper.protocol.Message;
import edu.uw.zookeeper.protocol.Operation;
import edu.uw.zookeeper.protocol.ProtocolConnection;
import edu.uw.zookeeper.protocol.SessionListener;
public interface ConnectionClientExecutor<
I extends Operation.Request,
V extends Operation.ProtocolResponse<?>,
T extends SessionListener,
C extends ProtocolConnection<? super Message.ClientSession,?,?,?,?>>
extends ClientExecutor<I,V,T> {
ListenableFuture<ConnectMessage.Response> session();
C connection();
}