When control connection is idle for more than IdleTimeout duration, server immediately closes control connection and ignores on going data transfer through data connection.
https://github.com/fclairamb/ftpserverlib/blob/main/client_handler.go#L413
This is not correct behavior. Transfer rate and time can very depending on network and file size. Before terminating control connection, server should check if there is any active data connection.