You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by lg...@apache.org on 2018/08/27 06:43:01 UTC

mina-sshd git commit: [SSHD-841] Clarified the IoServiceFactoryFactory selection process in README.md

Repository: mina-sshd
Updated Branches:
  refs/heads/master 0ac5dd79c -> 7f74b0c86


[SSHD-841] Clarified the IoServiceFactoryFactory selection process in README.md


Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/7f74b0c8
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/7f74b0c8
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/7f74b0c8

Branch: refs/heads/master
Commit: 7f74b0c8676d99f186c4e8e2bf36c9b40b0766f7
Parents: 0ac5dd7
Author: Goldstein Lyor <ly...@cb4.com>
Authored: Mon Aug 27 09:40:46 2018 +0300
Committer: Goldstein Lyor <ly...@cb4.com>
Committed: Mon Aug 27 09:42:55 2018 +0300

----------------------------------------------------------------------
 README.md | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7f74b0c8/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 0458a8e..cad3ea8 100644
--- a/README.md
+++ b/README.md
@@ -92,7 +92,7 @@ implementation. This is also an **optional** dependency and must be add explicit
         <artifactId>netty-handler</artifactId>
         <version>...Netty version...</version>
     </dependency>
-    
+
     <dependency>
         <groupId>org.apache.sshd</groupId>
         <artifactId>sshd-netty</artifactId>
@@ -104,9 +104,21 @@ implementation. This is also an **optional** dependency and must be add explicit
 ### Selecting an `IoServiceFactoryFactory`
 
 As part of the their initialization, both client and server code require the specification of a `IoServiceFactoryFactory`
-that is used to initialize network connections. If not set explicitly during the client/server setup code, then a factory
-is automatically detected and selected when the client/server is started. The used `IoServiceFactoryFactory` is a **singleton**
-that is lazy created the 1st time `DefaultIoServiceFactoryFactory#create` is invoked. The selection process is as follows:
+that is used to initialize network connections.
+
+```java
+
+    SshServer server = ...create server instance...
+    server.setIoServiceFactoryFactory(new MyIoServiceFactoryFactory());
+
+    SshClient client = ... create client instance ...
+    client.setIoServiceFactoryFactory(new MyIoServiceFactoryFactory());
+
+```
+
+If not set explicitly during the client/server setup code, then a factory is automatically detected and selected when the
+client/server is `#start()`-ed. The used `IoServiceFactoryFactory` is a **singleton** that is lazy created the 1st time
+`DefaultIoServiceFactoryFactory#create` is invoked. The selection process is as follows:
 
 * The `org.apache.sshd.common.io.IoServiceFactoryFactory` system property is examined for a factory specification. The
 specification can be either a **fully-qualified** class name or one of the `BuiltinIoServiceFactoryFactories` values.
@@ -118,10 +130,10 @@ an exception is thrown.
 
 * Otherwise, the built-in `Nio2ServiceFactoryFactory` is used.
 
-**Note:** the default command line scripts for SSH client/server, SCP/SFTP clients are set up to use NIO2 as their default provider,
+**Note:** the default command line scripts for SSH/SCP/SFTP client/server are set up to use NIO2 as their default provider,
 unless overridden via the `-io` command line option. The `org.apache.sshd.common.io.IoServiceFactoryFactory` system property does
-not apply for the command line wrappers since they look for only the `-io` option and use it to initialize the client/server **explicitly**,
-before starting the client/server. Therefore, the default selection process described in this section does not take effect.
+not apply for the command line wrappers since they look only for the `-io` option and use it to initialize the client/server **explicitly**
+before starting the client/server. Therefore, the default selection process described in this section does not apply for them.
 
 ## [ed25519-java](https://github.com/str4d/ed25519-java)