# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. # from twisted.conch.client import direct connectTypes = {"direct" : direct.connect} def connect(host, port, options, verifyHostKey, userAuthObject): useConnects = ['direct'] return _ebConnect(None, useConnects, host, port, options, verifyHostKey, userAuthObject) def _ebConnect(f, useConnects, host, port, options, vhk, uao): if not useConnects: return f connectType = useConnects.pop(0) f = connectTypes[connectType] d = f(host, port, options, vhk, uao) d.addErrback(_ebConnect, useConnects, host, port, options, vhk, uao) return d