Ejemplo n.º 1
0
    def _create_connection(self, type):
        transport = TTornadoStreamTransport(self.__host, self.__port)
        pfactory = TBinaryProtocolFactory()
        connection = self.__client_cls(transport, pfactory)
        rpc_connection = RPCConnection(self.__host + ':' + str(self.__port) + ':' + str(self.__weight), type, connection)

        try:
            transport.open()
        except Exception,e:
            pass
Ejemplo n.º 2
0
 def __init__(self, sasl_client_factory, mechanism, host, port):
     """
     @param sasl_client_factory: a callable that returns a new sasl.Client object
     @param mechanism: the SASL mechanism (e.g. "GSSAPI")
     @param host: ip address or host name
     @param port: port
     """
     TTornadoStreamTransport.__init__(self, host, port)
     self.sasl_client_factory = sasl_client_factory
     self.sasl = None
     self.mechanism = mechanism
     self.opened = False
     self.encode = None
     self.__wbuf = StringIO()
Ejemplo n.º 3
0
 def __init__(self, sasl_client_factory, mechanism, host, port):
     """
     @param sasl_client_factory: a callable that returns a new sasl.Client object
     @param mechanism: the SASL mechanism (e.g. "GSSAPI")
     @param host: ip address or host name
     @param port: port
     """
     TTornadoStreamTransport.__init__(self, host, port)
     self.sasl_client_factory = sasl_client_factory
     self.sasl = None
     self.mechanism = mechanism
     self.opened = False
     self.encode = None
     self.__wbuf = StringIO()
Ejemplo n.º 4
0
 def get_transport_factory(cls):
     from thriftpy.tornado import TTornadoStreamTransport
     return lambda socket: TTornadoStreamTransport(
         socket[0],
         socket[1],
         read_timeout=timedelta(milliseconds=socket[2])
     )
Ejemplo n.º 5
0
 def __init__(self,
              host=None,
              port=10000,
              authMechanism=None,
              user=None,
              password=None,
              configuration=None):
     super(TornadoConnection, self).__init__(authMechanism)
     #Must set a password for thrift, even if it doesn't need one
     #Open issue with python-sasl
     password = self._check_password(authMechanism, password)
     if authMechanism == "NOSASL":
         self.transport = TTornadoStreamTransport(host, port)
     else:
         saslc, sasl_mech = self._get_sasl_client(host, authMechanism, user,
                                                  password, configuration)
         self.transport = TSaslClientTransportTornado(
             saslc, sasl_mech, host, port)
     pfactory = TBinaryProtocolFactory()
     self.client = TCLIServiceTornado.Client(self.transport, pfactory)
Ejemplo n.º 6
0
    def create(self, key):
        server_node = self.__provider.select()
        transport = TTornadoStreamTransport(server_node.address,
                                            server_node.port)
        protocol = TCompactProtocol.TCompactProtocolFactory()
        mprotocol = TMultiplexedProtocol.TMultiplexedProtocol(protocol, key)
        client = getattr(self.__ifaces.get(key), "Client")
        yield gen.Task(transport.open)
        instance = client(transport, mprotocol)

        # transport close function
        def close(self):
            try:
                self._iprot.trans.close()
                self._oprot.trans.close()
                logger.info("Client closed.")
            except:
                logger.error("Client close error!")

        #add close function
        instance.close = partial(close, instance)
        yield instance
        raise gen.Return()
Ejemplo n.º 7
0
 def close(self):
     TTornadoStreamTransport.close(self)
     self.sasl = None
Ejemplo n.º 8
0
 def close(self):
     TTornadoStreamTransport.close(self)
     self.sasl = None
Ejemplo n.º 9
0
 def get_transport_factory(self):
     from thrift.TTornado import TTornadoStreamTransport
     return lambda socket: TTornadoStreamTransport(socket[0], socket[1])