package backtype.storm.security.auth;
import java.io.IOException;
import java.util.Map;
import javax.security.auth.login.Configuration;
import org.apache.thrift7.TProcessor;
import org.apache.thrift7.server.TServer;
import org.apache.thrift7.transport.TTransport;
import org.apache.thrift7.transport.TTransportException;
/**
* Interface for Thrift Transport plugin
*/
public interface ITransportPlugin {
/**
* Invoked once immediately after construction
*
* @param storm_conf
* Storm configuration
* @param login_conf
* login configuration
*/
void prepare(Map storm_conf, Configuration login_conf);
/**
* Create a server associated with a given port and service handler
*
* @param port
* listening port
* @param processor
* service handler
* @return server to be binded
*/
public TServer getServer(int port, TProcessor processor)
throws IOException, TTransportException;
/**
* Connect to the specified server via framed transport
*
* @param transport
* The underlying Thrift transport.
* @param serverHost
* server host
*/
public TTransport connect(TTransport transport, String serverHost)
throws IOException, TTransportException;
}