I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
  1. Sep 27, 2008
  2. Sep 25, 2008
  3. Jul 16, 2008
  4. Jul 11, 2005
    • jrandom's avatar
      2005-07-11 jrandom · 9d5f16a8
      jrandom authored and zzz's avatar zzz committed
          * Reduced the growth factor on the slow start and congestion avoidance for
            the streaming lib.
          * Adjusted some of the I2PTunnelServer threading to use a small pool of
            handlers, rather than launching off new threads which then immediately
            launch off an I2PTunnelRunner instance (which launches 3 more threads..)
          * Don't persist session keys / session tags (not worth it, for now)
          * Added some detection and handling code for duplicate session tags being
            delivered (root cause still not addressed)
          * Make the PRNG's buffer size configurable (via the config property
            "i2p.prng.totalBufferSizeKB=4096")
          * Disable SSU flooding by default (duh)
          * Updates to the StreamSink apps for better throttling tests.
      9d5f16a8
  5. Mar 01, 2005
    • jrandom's avatar
      2005-03-01 jrandom · 57d6a2f6
      jrandom authored and zzz's avatar zzz committed
          * Really disable the streaming lib packet caching
          * Synchronized a message handling point in the SDK (even though its use is
            already essentially single threaded, its better to play it safe)
          * Don't add new RepublishLeaseSetJobs on failure, just requeue up the
            existing one (duh)
          * Throttle the number of concurrent pending tunnel builds across all
            pools, in addition to simply throttling the number of new requests per
            minute for each pool individually.  This should avoid the cascading
            failure when tunnel builds take too long, as no new builds will be
            created until the previous ones are handled.
          * Factored out and extended the DataHelper's unit tests for dealing with
            long and date formatting.
          * Explicitly specify the HTTP auth realm as "i2prouter", though this
            alone doesn't address the bug where jetty asks for authentication too
            much.  (thanks orion!)
          * Updated the StreamSinkServer to ignore all read bytes, rather than write
            them to the filesystem.
      57d6a2f6
  6. Feb 16, 2005
    • jrandom's avatar
      2005-02-16 jrandom · 566a713b
      jrandom authored and zzz's avatar zzz committed
          * (Merged the 0.5-pre branch back into CVS HEAD)
          * Replaced the old tunnel routing crypto with the one specified in
            router/doc/tunnel-alt.html, including updates to the web console to view
            and tweak it.
          * Provide the means for routers to reject tunnel requests with a wider
            range of responses:
              probabalistic rejection, due to approaching overload
              transient rejection, due to temporary overload
              bandwidth rejection, due to persistent bandwidth overload
              critical rejection, due to general router fault (or imminent shutdown)
            The different responses are factored into the profiles accordingly.
          * Replaced the old I2CP tunnel related options (tunnels.depthInbound, etc)
            with a series of new properties, relevent to the new tunnel routing code:
              inbound.nickname (used on the console)
              inbound.quantity (# of tunnels to use in any leaseSets)
              inbound.backupQuantity (# of tunnels to keep in the ready)
              inbound.length (# of remote peers in the tunnel)
              inbound.lengthVariance (if > 0, permute the length by adding a random #
                                      up to the variance.  if < 0, permute the length
                                      by adding or subtracting a random # up to the
                                      variance)
              outbound.* (same as the inbound, except for the, uh, outbound tunnels
                          in that client's pool)
            There are other options, and more will be added later, but the above are
            the most relevent ones.
          * Replaced Jetty 4.2.21 with Jetty 5.1.2
          * Compress all profile data on disk.
          * Adjust the reseeding functionality to work even when the JVM's http proxy
            is set.
          * Enable a poor-man's interactive-flow in the streaming lib by choking the
            max window size.
          * Reduced the default streaming lib max message size to 16KB (though still
            configurable by the user), also doubling the default maximum window
            size.
          * Replaced the RouterIdentity in a Lease with its SHA256 hash.
          * Reduced the overall I2NP message checksum from a full 32 byte SHA256 to
            the first byte of the SHA256.
          * Added a new "netId" flag to let routers drop references to other routers
            who we won't be able to talk to.
          * Extended the timestamper to get a second (or third) opinion whenever it
            wants to actually adjust the clock offset.
          * Replaced that kludge of a timestamp I2NP message with a full blown
            DateMessage.
          * Substantial memory optimizations within the router and the SDK to reduce
            GC churn.  Client apps and the streaming libs have not been tuned,
            however.
          * More bugfixes thank you can shake a stick at.
      
      2005-02-13  jrandom
          * Updated jbigi source to handle 64bit CPUs.  The bundled jbigi.jar still
            only contains 32bit versions, so build your own, placing libjbigi.so in
            your install dir if necessary.  (thanks mule!)
          * Added support for libjbigi-$os-athlon64 to NativeBigInteger and CPUID
            (thanks spaetz!)
      566a713b
  7. Nov 08, 2004
    • jrandom's avatar
      2004-11-08 jrandom · 0c049f39
      jrandom authored and zzz's avatar zzz committed
          * Remove spurious flush calls from I2PTunnel, and work with the
            I2PSocket's output stream directly (as the various implementations
            do their own buffering).
          * Another pass at a long standing JobQueue bug - dramatically simplify
            the job management synchronization since we dont need to deal with
            high contention (unlike last year when we had dozens of queue runners
            going at once).
          * Logging
      0c049f39
  8. Oct 30, 2004
    • jrandom's avatar
      (mmMMmm profiling) · 58fcbad2
      jrandom authored and zzz's avatar zzz committed
      2004-10-30  jrandom
          * Cache the temporary objects used in the AES encryption/decryption
            process so that AES doesn't require any memory allocation to process
            data.
          * Dramatically reduce memory usage within various crypto implementations
            by avoiding unnecessary (though simplifying) buffers.
          * If we specify some tags to be sent in an I2CP message explicitly, use
            only those, not those plus a new set (otherwise we aren't sure on ACK
            which set was delivered)
          * Allow configuration for the partial send timeout (how long before
            resending a message down a different tunnel in a lease).  This can be
            updated with the "router.clientPartialSendTimeout" router config prop.
          * Logging
      58fcbad2
  9. Oct 24, 2004
    • jrandom's avatar
      2004-10-24 jrandom · 9680effb
      jrandom authored and zzz's avatar zzz committed
          * 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.
      9680effb
  10. Aug 01, 2004
    • jrandom's avatar
      javadoc fixes · c5b289fb
      jrandom authored and zzz's avatar zzz committed
      c5b289fb
    • jrandom's avatar
      * added a way to control how large we let the buffers grow before we block, · f85ce180
      jrandom authored and zzz's avatar zzz committed
      or even whether to have the blocking action timeout and close the socket after
      a certain delay
      * refactored the I2PSocketOptions to be more actively used
      * added a pair of ministreaming lib demo apps:
      - StreamSinkServer listens to a destination and dumps any data it receives on a socket to a per-socket file
      - StreamSinkClient sends a destination a specified number of random bytes, then disconnects
      f85ce180
Loading