update readme with concurrency notes

This commit is contained in:
Brian Foshee 2016-03-04 00:34:31 -05:00
parent 025459f901
commit 133b78e1c2

View File

@ -15,3 +15,14 @@ go get -u github.com/jlaffaye/ftp
## Documentation ##
http://godoc.org/github.com/jlaffaye/ftp
## Concurrency Notes ##
`ServerConn` is safe for concurrent access. What this means in practice is that
you can dial a connection to your FTP server, login, and pass around the
resulting `ServerConn` to multiple goroutines. However, this does not mean that
you can simultaneously upload or download multiple files. Because of limitations
inherent to the FTP protocol, there is a lock around these kinds of methods. The
user also needs to be aware that any call to `ChangeDir()` or similar will be
felt across every goroutine accessing that session. It is best to handle those
calls synchronously, eg immediately after logging into the FTP server.