-
- Downloads
"src/net/i2p/android/router/log/LogActivity.java" did not exist on "742df967e247d5f74d9ca226afce1d9e69e4facb"
I2PTunnel: Reduce i2ptunnel threads, more thread pooling.
Big savings is on client side (two less threads per connection) - Move client pool from static inI2PTunnelClientBase to TCG. - Use client pool for some server threads - Run some things inline that were formerly threads - Client-side I2PTunnelRunner thread used to do nothing but start 2 more threads; now it runs one inline (like we do for server-side HTTP) - Javadocs and cleanups Was originally intended to reduce load for high-traffic servers but most of the savings for now is on the client side. Ref: http://zzz.i2p/topics/1741 Todo: Figure out how to run the HTTP client-side gunzipper inline too Todo: More server-side improvements --- Client side: before: 4-5 threads, 1-2 pooled I2PTunnel Client Runner (BlockingRunner from client pool) starts I2PTunnelRunner or I2PTunnelHTTPClientRunner and exits starts StreamForwarder toI2P and waits starts StreamForwarder fromI2P and waits starts HTTPResponseOutputStream (HTTP gunzip only) (from client pool) now: 2-3 threads, 1-2 pooled I2PTunnel Client Runner (BlockingRunner from client pool) runs I2PTunnelRunner or I2PTunnelHTTPClientRunner inline starts StreamForwarder toI2P and waits runs StreamForwarder fromI2P inline starts HTTPResponseOutputStream (HTTP gunzip only) (from client pool) --- Server side: before: 1-4 threads, 0-1 pooled Server Handler Pool (Handler from server pool) execpt for standard server, blockingHandle() inline in acceptor starts I2PTunnelRunner or CompressedRequestor and exits starts StreamForwarder toI2P and waits (inline for HTTP) starts StreamForwarder fromI2P and waits (except not for HTTP GET) now: 1-4 threads, 0-2 pooled Server Handler Pool (Handler from server pool) execpt for standard server, blockingHandle() inline in acceptor starts I2PTunnelRunner or CompressedRequestor and exits (using client pool) starts StreamForwarder toI2P and waits (inline for HTTP) starts StreamForwarder fromI2P and waits (except not for HTTP GET)
Showing
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/HTTPResponseOutputStream.java 21 additions, 9 deletions.../java/src/net/i2p/i2ptunnel/HTTPResponseOutputStream.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClient.java 4 additions, 2 deletions...i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClient.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java 25 additions, 71 deletions...unnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java 3 additions, 1 deletion...el/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java 9 additions, 5 deletions...unnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientRunner.java 2 additions, 1 deletion...java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientRunner.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java 6 additions, 6 deletions...unnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCClient.java 5 additions, 2 deletions...tunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCClient.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCServer.java 3 additions, 1 deletion...tunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCServer.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelRunner.java 6 additions, 6 deletions...i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelRunner.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelServer.java 25 additions, 1 deletion...i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelServer.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelController.java 1 addition, 1 deletion...2ptunnel/java/src/net/i2p/i2ptunnel/TunnelController.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelControllerGroup.java 78 additions, 2 deletions...nel/java/src/net/i2p/i2ptunnel/TunnelControllerGroup.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/irc/I2PTunnelDCCClient.java 3 additions, 1 deletion...el/java/src/net/i2p/i2ptunnel/irc/I2PTunnelDCCClient.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/irc/I2PTunnelDCCServer.java 3 additions, 1 deletion...el/java/src/net/i2p/i2ptunnel/irc/I2PTunnelDCCServer.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/socks/I2PSOCKSIRCTunnel.java 6 additions, 3 deletions...l/java/src/net/i2p/i2ptunnel/socks/I2PSOCKSIRCTunnel.java
- apps/i2ptunnel/java/src/net/i2p/i2ptunnel/socks/I2PSOCKSTunnel.java 3 additions, 1 deletion...nnel/java/src/net/i2p/i2ptunnel/socks/I2PSOCKSTunnel.java
Loading
Please register or sign in to comment