You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2023/06/29 13:38:26 UTC

[mina-site] branch master updated: Added some FtpServer documentation

This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-site.git


The following commit(s) were added to refs/heads/master by this push:
     new bde533181 Added some FtpServer documentation
bde533181 is described below

commit bde533181cf7f38f81085511f8c875419916e56c
Author: emmanuel lecharny <el...@apache.org>
AuthorDate: Thu Jun 29 15:38:13 2023 +0200

    Added some FtpServer documentation
---
 .../documentation/ch1-tutorial/ch1-tutorials.md    | 15 ++++++
 .../documentation/ch6-internals/ch6-internals.md   | 53 ++++++++++++++++++++++
 2 files changed, 68 insertions(+)

diff --git a/source/ftpserver-project/documentation/ch1-tutorial/ch1-tutorials.md b/source/ftpserver-project/documentation/ch1-tutorial/ch1-tutorials.md
new file mode 100644
index 000000000..5e1212617
--- /dev/null
+++ b/source/ftpserver-project/documentation/ch1-tutorial/ch1-tutorials.md
@@ -0,0 +1,15 @@
+---
+type: ftpserver
+title: Chapter 1 - Tutorials
+navUp: ../documentation-toc.html
+navUpText: Documentation
+navNext: ../ch2-using-ftpserver/ch2-using-ftpserver.html
+navNextText: Chapter 2 - Using FTPServer
+---
+
+# Chapter 1 - Tutorials
+
+In this chapter, we will give you two exemples on how to install and user **Apache MINA FTPServer**.
+
+* [1.1 - Embedding FtpServer in 5 minutes](ch1.1-tutorials-embedding.html)
+* [1.2 - Running FtpServer stand-alone in 5 minutes](ch1.2-tutorials-running.html)
diff --git a/source/ftpserver-project/documentation/ch6-internals/ch6-internals.md b/source/ftpserver-project/documentation/ch6-internals/ch6-internals.md
new file mode 100644
index 000000000..0711ca50d
--- /dev/null
+++ b/source/ftpserver-project/documentation/ch6-internals/ch6-internals.md
@@ -0,0 +1,53 @@
+---
+type: ftpserver
+title: Chapter 6 - FtpServer internals
+navPrev: ../ch5-developping/ch5-developping.html
+navPrevText: Chapter 5 - Developping
+navUp: ../documentation-toc.html
+navUpText: Documentation
+---
+
+# Chapter 6 - Internals
+
+Creating a **FtpServer** instance is done using a **FtpServerFactory**. The is done with such code:
+
+```java
+    FtpServerFactory serverFactory = new FtpServerFactory();
+    FtpServer server = serverFactory.createServer();
+    server.start();
+    ...
+```
+
+Let's see what happens when we create the factory and when the server is created
+
+## FtpServerFactory creation
+
+The **FtpServerFactory** is associated with a **FtpServerContext** instance, which define a set of elements:
+
+* a **CommandFactory** instance
+* a **ConnectionConfig** instance
+* a **FileSystemFactory** instance
+* a **FtpletContainer** instance
+* a **FtpStatistics** instance
+* a set of **Listener** instances
+* a **MessageResource** instance
+* a **UserManager** instance
+
+The class hierarchy is the following:
+
+```goat
+
+ .-------------.
+| FtpletContext |
+ '-------------'
+        ^
+        |   .----------------.
+        '--| FtpServerContext |
+            '----------------'
+                     ^
+                     |  .-------------------------.
+                     '--| DefaultFtpServerContext |
+                        '-------------------------'
+
+```
+