sorry for the delayed reply, we've been busy.
unfortunately the timeout value is for reading data from the socket (i.e. downloads), not writing to the socket (uploads). This is a function of the Java API, not our implementation - see setSoTimeout.
at some point we'll look at moving to the async socket API, which is a bit more flexible in this area.