- Dec 29, 2004
-
- Dec 21, 2004
-
-
-
* Cleaned up the postinstall/startup scripts a bit more to handle winME, and added windows info to the headless docs. (thanks ardvark!) * Fixed a harmless (yet NPE inspiring) race during the final shutdown of a stream (thanks frosk!) * Add a pair of new stats for monitoring tunnel participation - tunnel.participatingBytesProcessed (total # bytes transferred) and tunnel.participatingBytesProcessedActive (total # bytes transferred for tunnels whose byte count exceed the 10m average). This should help further monitor congestion issues. * Made the NamingService factory property public (thanks susi!)
-
- Dec 20, 2004
-
- Dec 19, 2004
-
-
* Added a new i2ptunnel type: 'httpserver', allowing you to specify what hostname should be sent to the webserver. By default, new installs will have an httpserver pointing at their jetty instance with the spoofed name 'mysite.i2p' (editable on the /i2ptunnel/edit.jsp page).
- Dec 18, 2004
-
-
- Dec 16, 2004
-
-
* Catch another oddball case for a reset connection in the streaming lib. * Add a dumpprofile.jsp page, called with ?peer=base64OfPeerHash, which dumps the current state of that peer's profile. Instead of the full base64, you can pass in however many characters you have and it will return the first match found.
-
* Remove the randomized factor in the tunnel rejection by bandwidth - we now accept the request if we've allocated less than our limit and reject it if we've allocated more. * Stick to the standard capacity scale on tunnel rejection, even for the 10m period. * Build the time message at the very last possible moment
-
* Handle hard disconnects more gracefully within the streaming lib, and log unmonitored events more aggressively. * If we drop a peer after connection due to clock skew, log it to the /logs.jsp#connectionlogs with relevent info. In addition, toss it in the stat 'tcp.disconnectAfterSkew'. * Fixed the formatting in the skew display * Added an ERROR message that is fired once after we run out of routerInfo files (thanks susi!) * Set the connect timeout equal to the streaming lib's disconnect timeout if not already specified (the I2PTunnel httpclient already enforces a 60s connect timeout) * Fix for another connection startup problem in the streaming lib. * Fix for a stupid error in the probabalistic drop (rand <= P, not > P) * Adjust the capacity calculations so that tunnel failures alone in the last 10m will not trigger a 0 capacity rank.
-
- Dec 14, 2004
-
-
* Periodically send a message along all I2NP connections with the router's current time, allowing the receiving peer to determine that the clock has skewed too much, and hence, disconnect. For backwards compatability reasons, this is being kludged into a DeliveryStatusMessage (ewww). The next time we have a backwards compatability break, we can put in a proper message setup for it.
-
* Reenable the probabalistic drop on the TCP queues to deal with good old fashioned bandwidth limiting. However, by default the probability is rigged to reserve 0% of the queue free - meaning we just aggressively fail messages in the queue if we're transferring too slowly. That reservation factor can be increased with 'tcp.queueFreeFactor=0.25' (or whatever) and the drop code can be disabled with the parameter 'tcp.dropProbabalistically=false'. * Still penalize a peer on tunnel failure, but don't immediately drop their capacity to 0. * More aggressively ACK duplicates * Randomize the timestamper period * Display the clock skew on the connection logs when a peer sends it. * Allow the timestamper to fix skews of up to 10 minutes * Logging
-
- Dec 13, 2004
-
-
* Added some error checking on the new client send job (thanks duck!) * Implemented tunnel rejection based on bandwidth usage (rejecting tunnels proportional to the bytes allocated in existing tunnels vs the bytes allowed through the bandwidth limiter). * Enable a new configuration parameter for triggering a tunnel rebuild (tunnel.maxTunnelFailures), where that is the max allowed test failures before killing the tunnel (default 0). * Gather more data that we rank capacity by (now we monitor and balance the data from 10m/30m/60m/1d instead of just 10m/60m/1d). * Fix a truncation/type conversion problem on the long term capacity values (we were ignoring the daily stats outright)
-
- Dec 11, 2004
-
-
* Fix the missing HTTP timeout, which was caused by the deferred syn used by default. This, in turn, meant the I2PSocket creation doesn't fail on .connect, but is unable to transfer any data in any direction. We now detect that condition for the I2PTunnelHTTPClient and throw up the right error page. * Logging
-
* Use a simpler and less memory intensive job for processing outbound client messages when the session is in mode=bestEffort. We can immediately discard the data as soon as its sent the first time, rather than wait for an ack, since we will never internally resend. * Reduce some synchronization to avoid a rare deadlock * Replaced 'localhost' with 127.0.0.1 in the i2ptunnel config, and special case it within the tunnel controller. * Script cleanup for building jbigi/jcpuid * Logging
-
- Dec 08, 2004
-
-
-
* Revised the buffering when reading from the SAM client and writing to the stream. Also added a thread (sigh) so we don't block the SAM client from giving us more messages for abnormally long periods of time. * Display the router version in the logs on startup (oft requested) * Fix a race during the closing of a messageOutputStream
-
- Dec 07, 2004
-
- Dec 06, 2004
-
- Dec 05, 2004
-
-
* Fix the recently broken SAM bridge (duh) * Add a new pair of SAM apps - net.i2p.sam.client.SAMStreamSink and net.i2p.sam.client.SAMStreamSend, mirroring the streaming lib's StreamSink and StreamSend apps for transferring files. * Make the passive flush timer fire more frequently.
-
- Dec 04, 2004
-
-
* Toss in a small pool of threads (3) to execute the events queued up with the SimpleTimer, as we do currently see the occational event notification spiking up to a second or so. * Implement a SAM client API in java, useful for event based streaming (or for testing the SAM bridge) * Added support to shut down the SAM bridge on OOM (useful if the SAM bridge is being run outside of the router). * Include the SAM test code in the sam.jar * Remove an irrelevent warning message from SAM, which was caused by perfectly normal operation due to a session being closed. * Removed some unnecessary synchronization in the streaming lib's PacketQueue * More quickly clean up the memory used by the streaming lib by immediately killing each packet's resend job as soon as it is ACKed (or cancelled), so that there are no longer any valid pointers to the (potentially 32KB) packet. * Fixed the timestamps dumped to stdout when debugging the PacketHandler. * Drop packets that would expand our inbound window beyond our maximum buffer size (default 32 messages) * Always read the ACK/NACK data from the verified packets received, even if we are going to drop them * Always adjust the window when there are messages ACKed, though do not change its size except as before. * Streamlined some synchronization in the router's I2CP handling * Streamlined some memory allocation in the SAM bridge * Default the streaming lib to disconnect on inactivity, rather than send an empty message. this still doesnt get the BT to where it needs to be, or fix the timeout problem, but i dont like having so many commits outstanding and these updates are sound
-
- Dec 02, 2004
-
- Dec 01, 2004
-
-
- Nov 30, 2004
-
-
* Render the burst rate fields on /config.jsp properly (thanks ugha!) * Build in a simple timeout to flush data queued into the I2PSocket but not yet flushed. * Don't explicitly flush after each SAM stream write, but leave it up to the [nonblocking] passive flush. * Don't whine about 10-99 connection events occurring in a second * Don't wait for completion of packets that will not be ACKed (duh) * Adjust the congestion window, even if the packet was resent (duh) * Make sure to wake up any blocking read()'s when the MessageInputStream is close()ed (duh) * Never wait more than the disconnect timeout for a write to complete
-
- Nov 29, 2004
-
-
* Reduced contention for local client delivery * Drop the new code that munges the wrapper.config. Instead, updates that need to change it will include their own wrapper.config in the i2pupdate.zip, overwriting the existing file. If the file "wrapper.config.updated" is included, it is deleted at first opportunity and the router shut down, displaying a notice that the router must be started again cleanly to allow the changes to the wrapper.config to take effect. * Properly stop accept()ing I2PSocket connections if we close down the session (duh). * Make sure we cancel any outstanding Packets in flight when a connection is terminated (thanks susi!) * Split up the I2PTunnel closing a little further.
- Nov 27, 2004
-
-
* Fix for a fast loop caused by a race in the new streaming library (thanks DrWoo, frontier, pwk_, and thetower!) * Minor updates to the SimpleTimer and Connection to help track down a high CPU usage problem (dumping debug info to stdout/wrapper.log if too many events/tasks fire in a second) * Minor fixes for races on client disconnects (causing NPEs)
- Nov 26, 2004
-
-
- Nov 25, 2004
-
-
* Revised the installer to include start menu and desktop shortcuts for windows platforms, including pretty icons (thanks DrWoo!) * Allow clients specified in clients.config to have an explicit startup delay. * Update the default install to launch a browser pointing at the console whenever I2P starts up, rather than only the first time it starts up (configurable on /configservice.jsp, or in clients.config) * Bugfix to the clock skew checking code to monitor the delta between offsets, not the offset itself (duh) * Router console html update * New (and uuuuugly) code to verify that the wrapper.config contains the necessary classpath entries on update. If it has to update the wrapper.config, it will stop the JVM and service completely, since the java service wrapper doesn't reread the wrapper.config on JVM restart - requiring the user to manually restart the service after an update. * Increase the TCP connection timeout to 30s (which is obscenely long) ------------------------------------------------
-
- Nov 23, 2004
-
- Nov 22, 2004
-
-
* Update the I2PTunnel web interface to include an option for the new streaming lib (which is ignored until the 0.4.2 release). * Revised the I2PTunnel web interface to keep the I2CP options of client and httpclient tunnels in sync, as they all share the same I2CP session.
-