- Oct 28, 2004
-
- Oct 24, 2004
-
-
* Allow explicit inclusion of session tags in the SDK, enabling the resending of tags bundled with messages that would not otherwise be ACKed. * Don't force mode=guaranteed for end to end delivery - if mode=bestEffort no DeliveryStatusMessage will be bundled (and as such, client apps using it will need to do their own session tag ack/nack). * Handle client errors when notifying them of message availability. * New StreamSinkSend which sends a file to a destination and disconnects. * Update the I2PSocketManagerFactory to build the specific I2PSocketManager instance based on the "i2p.streaming.manager" property, containing the class name of the I2PSocketManager implementation to instantiate.
-
- Oct 18, 2004
-
-
- Oct 17, 2004
-
- Oct 16, 2004
-
- Oct 15, 2004
-
- Oct 14, 2004
-
-
* Allow for a configurable tunnel "growth factor", rather than trying to achieve a steady state. This will let us grow gradually when the router is needed more, rather than blindly accepting the request or arbitrarily choking it at an averaged value. Configure this with "router.tunnelGrowthFactor" in the router.config (default "1.5"). * Adjust the tunnel test timeouts dynamically - rather than the old flat 30s (!!!) timeout, we set the timeout to 2x the average tunnel test time (the deviation factor can be adjusted by setting "router.tunnelTestDeviation" to "3.0" or whatever). This should help find the 'good' tunnels. * Added some crazy debugging to try and track down an intermittent hang.
-
- Oct 13, 2004
-
- Oct 12, 2004
-
-
* Disable the probabalistic drop by default (enable via the router config property "tcp.dropProbabalistically=true") * Disable the actual watchdog shutdown by default, but keep track of more variables and log a lot more when it occurs (enable via the router config property "watchdog.haltOnHang=true") * Implement some tunnel participation smoothing by refusing requests probabalistically as our participating tunnel count exceeds the previous hour's, or when the 10 minute average tunnel test time exceeds the 60 minute average tunnel test time. The probabilities in both cases are oldAverage / #current, so if you're suddenly flooded with 200 tunnels and you had previously only participated in 50, you'll have a 25% chance of accepting a subsequent request.
-
- Oct 10, 2004
-
-
-
* Added a watchdog timer to do some baseline liveliness checking to help debug some odd errors. * Added a pair of summary stats for bandwidth usage, allowing easy export with the other stats ("bw.sendBps" and "bw.receiveBps") * Trimmed another memory allocation on message reception.
-
- Oct 08, 2004
-
- Oct 07, 2004
-
- Oct 06, 2004
-
-
* Implement an active queue management scheme on the TCP transports, dropping messages probabalistically as the queue fills up. The estimated queue capacity is determined by the rate at which messages have been sent to the peer (averaged at 1, 5, and 60m periods). As we exceed 1/2 of the estimated capacity, we drop messages throughout the queue probabalistically with regards to their size. This is based on RFC 2309's RED, with the minimum threshold set to 1/2 the estimated connection capacity. We may want to consider using a send rate and queue size measured across all connections, to deal with our own local bandwidth saturation, but we'll try the per-con metrics first.
-
- Oct 05, 2004
-
- Oct 04, 2004
-
- Oct 03, 2004
-
-
* Add a new stat logging component to optionally dump the raw stats to disk as they are generated, rather than rely upon the summarized data. By default, this is off, but the router property "stat.logFilters" can be set to a comma delimited list of stats (e.g. "client.sendAckTime") which will be written to the file "stats.log" (or whatever the property "stat.logFile" is set to). This can also log profile related stats, such as "dbResponseTime" or "tunnelTestResponseTime".
-
- Oct 02, 2004
-
- Oct 01, 2004
-
-
- Sep 30, 2004
-
-
2004-09-30 jrandom * Bundle the configuration necessary to run an eepsite out of the box with Jetty - simply edit ./eepsite/docroot/index.html and give people the key listed on the I2PTunnel configuration page, and its up. * Router console cleanup, and some (off by default) tunnels - smtp.postman.i2p (port 7659), pop.postman.i2p (port 7660), and irc.baffled.i2p (port 7661)
-
- Sep 29, 2004
-
- Sep 27, 2004
-
- Sep 26, 2004
-
-
up and debug in the new tcp transport, but it all works, and i dont like having big changes sitting on my local machine (and there's no real need for branching atm) 2004-09-26 jrandom * Complete rewrite of the TCP transport with IP autodetection and low CPU overhead reconnections. More concise connectivity errors are listed on the /oldconsole.jsp as well. The IP autodetection works by listening to the first person who tells you what your IP address is when you have not defined one yourself and you have no other TCP connections. * Update to the I2NP message format to add transparent verification at the I2NP level (beyond standard TCP verification). * Remove a potential weakness in our AESEngine's safeEncrypt and safeDecrypt implementation (rather than verifying with E(H(key)), we now verify with E(H(iv))). * The above changes are NOT BACKWARDS COMPATIBLE. * Removed all of the old unused PHTTP code. * Refactor various methods and clean up some javadoc.
-
- Sep 22, 2004
-
- Sep 16, 2004
-
-
* Refactor the TCP transport to deal with changing identities gracefully, and to prevent some wasted effort by keeping track of what host+port combinations we are connected to (rather than just the identities). Also catch a few configuration errors earlier. * Removed no longer relevent methods from the Transport API that were exposing ideas that probably shouldn't be exposed. * Removed the 0.4.0.1 specific files from i2pupdate.zip (relating to script updates)
-