/**
*
*/
package com.ganji.as.thrift.protocol.client.socket.async.pool;
import com.ganji.as.thrift.protocol.client.request.ThriftClientInvocation;
import com.ganji.as.thrift.protocol.cluster.load.balance.LoadBalance;
/**
* @author yikangfeng
* @date 2015年7月21日
*/
public interface SocketConnectionPool {
boolean isReady();// Connecting pool is ready
void removeSocketConnection(final SocketConnection socketConnection);
void returnSocketConnection(final SocketConnection socketConnection);
SocketConnection getSocketConnection(final LoadBalance loadBalance,
final ThriftClientInvocation clientInvocation) throws Throwable;
SocketConnection getSocketConnectionByHostAndPort(final String host,
final int port) throws Throwable;
void destory();
}