> ARMSL> Your server application also needs to take care with file 
> lock timeouts,
> ARMSL> network timeouts, etc, to avoid blocking the main thread. 
> 
> Could you elaborate. I know very little about this subject. 

Provided you do not make database calls from any FTP server events, you
will not have a problem.  Generally, making simple database calls is
painless since they usually respond within 20ms and that is the time
during which the FTP server will stop responding to all clients.  But you
would not want to do a complex database query that took any longer
without using a thread. 

But if the database needs to be re-opened and there is a network problem
(since real databases are never on the same platform as an FTP server)
there may be a 30 second timeout before the connection fails, and that
means the FTP server also stops for 30 seconds.  

One of my applications used async database events, both opening and
executing statements, with a queue for new statements that are needed
before previous ones have completed, with a trigger emptying the queue,
but it all gets very complicated, particularly the error handling. 

My FTP servers also log to a database, but this is very fast since it
mostly does not need the response to be interpreted. 

The same issues apply to file event logging, opening a file on a network
share may have a long timeout, during which the server is blocked. 

Angus


--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to