GoldenGateFtp 1.0.13 API Reference

The GoldenGate FTP project is a proposal of a new fresh FTP server implementation, fully in Java according to the following RFC: RFC 959, RFC 775, RFC 2389, RFC 2428, RFC 3659.

See:
          Description


GoldenGate FTP Main Core package
goldengate.ftp.core.command Global classes that store all informations on implemented commands, arguments, reply codes.
goldengate.ftp.core.command.access FTP Access related command
goldengate.ftp.core.command.directory FTP Directory related commands
goldengate.ftp.core.command.extension FTP non standard Extensions related command
goldengate.ftp.core.command.info FTP Informational related command
goldengate.ftp.core.command.internal FTP Internal related command
goldengate.ftp.core.command.parameter FTP Parameter related command
goldengate.ftp.core.command.rfc2389 FTP RFC 2389 related command
goldengate.ftp.core.command.rfc2428 FTP RFC 2428 related command
goldengate.ftp.core.command.rfc3659 FTP RFC 3659 related command
goldengate.ftp.core.command.rfc775 FTP RFC 775 related command
goldengate.ftp.core.command.service FTP Service (transfer) related command
goldengate.ftp.core.config Classes implementing configuration
goldengate.ftp.core.control Classes implementing Control connections.
goldengate.ftp.core.data Classes implementing Data and Transfer status

When a transfer should occur, here are the steps:
The connection is prepared through a PORT or PASV command.
goldengate.ftp.core.data.handler Classes implementing Data connections

The internal logic is the following:
When a connection is opened for data network: It first tries to find the corresponding session setup from the control connection.
goldengate.ftp.core.exception Classes implementing internal exceptions
goldengate.ftp.core.file Interfaces for FtpFile, FtpDir and FtpAuth as specific FTP extension of interfaces FileInterface, DirInterface and AuthInterface
goldengate.ftp.core.session Classes implementing session
goldengate.ftp.core.utils Classes implementing utilities functions

 

GoldenGate FTP Filesystem Implementation package
goldengate.ftp.filesystembased Classes implementing File, Directory and Authentication according to a filesystem implementation for FTP

 

GoldenGate Simple FTP Server package
goldengate.ftp.simpleimpl Main class for the simple FTP server example based on Filesystem and simple authentication.
goldengate.ftp.simpleimpl.config Simple configuration example.
goldengate.ftp.simpleimpl.control Simple FTP server example of control business.
goldengate.ftp.simpleimpl.data Simple FTP server example of data business.
goldengate.ftp.simpleimpl.file Filesystem based implementation example of File, Dir, Auth and SimpleAuth.

 

The GoldenGate FTP project is a proposal of a new fresh FTP server implementation, fully in Java according to the following RFC: RFC 959, RFC 775, RFC 2389, RFC 2428, RFC 3659. It includes also extra commands like XCRC, XMD5, XSHA1, INTERNALSHUTDOWN. It is based mainly on the NETTY framework (NIO great framework support) and is tend to be really efficient, both in term of memory, threads and network bandwidth. Bandwidth limitation can be configured both in store and retrieve, per session (although only one value is set by default, but it can be changed dynamically if needed) or globally to the server and of course with no limitation at all if wanted. Limitation should be enough to change the bandwidth behaviour for instance depending on the time in the day, so as to allow to limit bandwidth usage when users are at work and in contrary to allow more speed when only batchs are running. The specificity of this project is you can adapt this software to your particular needs by: changing the pre or post action on commands (not ony transfer), changing the underlying representation of files and directories (for instance with database entries), using any particular authentication mechanism.



Copyright © 2009-2012 Frederic Bregier. All Rights Reserved.