Class TSaslServerTransport.Factory

java.lang.Object
org.apache.thrift.transport.TTransportFactory
org.apache.thrift.transport.TSaslServerTransport.Factory
Enclosing class:
TSaslServerTransport

public static class TSaslServerTransport.Factory extends TTransportFactory
TTransportFactory to create TSaslServerTransports. Ensures that a given underlying TTransport instance receives the same TSaslServerTransport . This is kind of an awful hack to work around the fact that Thrift is designed assuming that TTransport instances are stateless, and thus the existing TServers use different TTransport instances for input and output.
  • Constructor Details

    • Factory

      public Factory()
      Create a new Factory. Assumes that addServerDefinition will be called later.
    • Factory

      public Factory(String mechanism, String protocol, String serverName, Map<String,String> props, CallbackHandler cbh)
      Create a new Factory, initially with the single server definition given. You may still call addServerDefinition later. See the Java documentation for Sasl.createSaslServer for the details of the parameters.
  • Method Details

    • addServerDefinition

      public void addServerDefinition(String mechanism, String protocol, String serverName, Map<String,String> props, CallbackHandler cbh)
      Add a supported server definition to the transports created by this factory. See the Java documentation for Sasl.createSaslServer for the details of the parameters.
    • getTransport

      public TTransport getTransport(TTransport base) throws TTransportException
      Get a new TSaslServerTransport instance, or reuse the existing one if a TSaslServerTransport has already been created before using the given TTransport as an underlying transport. This ensures that a given underlying transport instance receives the same TSaslServerTransport.
      Overrides:
      getTransport in class TTransportFactory
      Parameters:
      base - The base transport
      Returns:
      Wrapped Transport
      Throws:
      TTransportException