From c84e50baf0272c1bfa02ed37374fe1a72dafab1a Mon Sep 17 00:00:00 2001 From: meejah Date: Sun, 4 Mar 2018 18:55:32 -0700 Subject: [PATCH] post-rebase fixup: _client_factory and docs --- src/allmydata/client.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/allmydata/client.py b/src/allmydata/client.py index 29e5bf1e7..fc4f8dd28 100644 --- a/src/allmydata/client.py +++ b/src/allmydata/client.py @@ -201,23 +201,26 @@ def create_client(basedir=u".", _client_factory=None): node.create_node_dir(basedir, CLIENT_README) config = read_config(basedir, u"client.port") - if _client_factory is None: - _client_factory = _Client - # read config file and create instance config = read_config(basedir, u"client.port") - return create_client_from_config(config) # async + return create_client_from_config(config, _client_factory=_client_factory) # async # this method is async # @defer.inlineCallbacks -def create_client_from_config(config): +def create_client_from_config(config, _client_factory=None): """ - Create a new _Client instance given a _Config instance (basedir - must already exist and be writable). + Creates a new client instance (a subclass of Node). Most code + should probably use `create_client` instead. - Most code should probably use `create_client` instead. + :param config: configuration instance (from read_config()) which + encapsulates everything in the "node directory". + + :param _client_factory: for testing; the class to instantiate """ + if _client_factory is None: + _client_factory = _Client + i2p_provider = create_i2p_provider(reactor, config) tor_provider = create_tor_provider(reactor, config) handlers = node.create_connection_handlers(reactor, config, i2p_provider, tor_provider) @@ -236,7 +239,7 @@ def create_client_from_config(config): tub_options, introducer_clients ) - client = _Client( + client = _client_factory( config, main_tub, control_tub,