jrandom
authored
* removed all of the "temporary" threads used for adding timeouts to blocking socket operations: - use the ConnectionEstablisher's thread + a SimpleTimer.TimedEvent callback to timeout socket create - added a pool of socket handler threads (size=3 atm) for receiving any inbound sockets, which are pulled off a queue, after which a handshake occurs to verify the other side is I2NP (along side another SimpleTimer.TimedEvent callback in case that blocks) this should get the last of the temporary threads (Jetty has its own thread pool for dealing with HTTP requests, so we can ignore that thread created in the AdminRunner). The only significant reduction in threads left is to go with either NIO or UDP, but neither are happening in the immediate future.