- Oct 28, 2004
-
-
packets through that point have been ACKed, throwing an InterruptedIOException if there was a writeTimeout or an IOException if the con failed * revamped the ack/nack field settings to ack as much as possible * handle some strange timeout/resend errors on connection * pass 1/2rtt as the packet 'optional delay' field, and use that to schedule the ack time (the 'last' messages in a window set the optional delay to 0, asking for immediate ack of all received) * increase the optional delay to 2 bytes (#ms to delay) * inject random failures and delays if configured to do so in PacketHandler.choke * fix up the window size adjustment (increment on ack, /= 2 on resend) * use the highest RTT in the new RTT calculation so that we fit more in (via SACK) * fix up the SACK handling (duh) * revise the resend time calculation
- Oct 27, 2004
-
- Oct 25, 2004
-
-
* immediately send an ack on receiving a duplicate payload message (unless we've sent one within the last RTT) * only adjust the RTT when there have been no resends * added some (disabled) throttles - randomly injecting delays on received packets, as well as randomly dropping them * logging
- Oct 24, 2004
-
-
has session tags within it, send an additional ping to the peer, bundling those tags a second time, ACKing those tags on the pong. * handle packets transferred during a race after the receiver ACKs the connection but before the establisher receives the ACK. * notify the messageInputStream reader on close (duh) * new stream sink test, shoving lots and lots of data down a stream with the existing StreamSinkServer and StreamSinkClient apps * logging
-
* 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 11, 2004
-
- Oct 10, 2004
-
- Oct 07, 2004
-
- Oct 06, 2004
-
- Oct 05, 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
-
-
- sendsPerFailure: how many partial sends we make when they all fail - timeoutCongestionInbound: describes how much faster than our average speed we were receiving data when each partial send timed out (in Bps) - timeoutCongestionMessage: our send processing time when each partial send timed out (in ms) - timeoutCongestionTunnel: our tunnel test time when each partial send timed out (in ms) - participatingMessagesProcessedActive: # of messages more than the (most recent) average that a tunnel we were participating in transmitted (for tunnels with more than the average) * updated to use Writer for rendering the console, so we can do partial writes (and hopefully help debug some kooky threading bugs on kaffe)
-
- Sep 27, 2004
-
- Sep 26, 2004
-
- Sep 24, 2004
-
- Sep 23, 2004
-
- Sep 13, 2004
-
- Sep 09, 2004
-
-
2004-09-08 jrandom * Updated the "Active:" peer count to display the # of connections as well as the number of recently active router identities. * Implement some basic updating code - on startup, if there is a file named "i2pupdate.zip" in the I2P installation directory, extract it, delete it, then restart. * Added an ugly little script to allow launching the router on win9x machines without a dos box (using javaw to run a .bat file). * Logging updates. * Updated VERSION constants to 0.4.0.1
-
- Sep 08, 2004
-
-
* Proxy recursion disabled by default (strict) * Password Authentication for session commands * Support for http://path?i2paddresshelper=BASE64 * Support for http://i2p/BASE64/path syntax
-
- Sep 07, 2004
-
-
* Write the native libraries to the current directory when they are loaded from a resource, and load them from that file on subsequent runs (in turn, we no longer *cough* delete the running libraries...) * Added support for a graceful restart. * Added new pseudo-shutdown hook specific to the router, allowing applications to request tasks to be run when the router shuts down. We use this for integration with the service manager, since otherwise a graceful shutdown would cause a timeout, followed by a forced hard shutdown. * Handle a bug in the SimpleTimer with requeued tasks. * Made the capacity calculator a bit more dynamic by not outright ignoring the otherwise valid capacity data for a period with a single rejected tunnel (except for the 10 minute period). In addition, peers with an equal capacity are ordered by speed rather than by their hashes. * Cleaned up the SimpleTimer, addressing some threading and synchronization issues. * When an I2PTunnel client or httpclient is explicitly closed, destroy the associated session (unless there are other clients using it), and deal with a closed session when starting a new I2PTunnel instance. * Refactoring and logging.
- Sep 06, 2004
-
-
* Address a race condition in the key management code that would manifest itself as a corrupt router identity. * Properly clear old transport addresses from being displayed on the old console after soft restarts. * Properly refuse to load the client applications more than once in the same JVM. * Added support for a graceful restart (a graceful shutdown followed by a full JVM restart - useful for restarting client apps). * More defensive programming, HTML cleanup, logging * wrapper.config cleanup of duplicate lines
-
- Sep 04, 2004
-
-
* Added some basic guards to prevent multiple instances from running. Specifically, a file "router.ping" in the install directory which is written to once a minute - if that file exists and has been modified within the last minute, refuse to start up. In turn, adjust the service wrapper to wait a minute before restarting a crashed JVM. * Create a "work" directory in the I2P install dir which Jetty will use for all of its temporary files. * Tell the browser not to cache most of the router console's pages.
-
- Sep 03, 2004
-
-
- Sep 02, 2004
-