diff --git a/README.md b/README.md index b711be7..9bb4fda 100644 --- a/README.md +++ b/README.md @@ -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.