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

Skip to content
Snippets Groups Projects
  • jrandom's avatar
    4ce51261
    2005-04-28 jrandom · 4ce51261
    jrandom authored and zzz's avatar zzz committed
        * More fixes for the I2PTunnel "other" interface handling (thanks nelgin!)
        * Add back the code to handle bids from multiple transports (though there
          is still only one transport enabled by default)
        * Adjust the router's queueing of outbound client messages when under
          heavy load by running the preparatory job in the client's I2CP handler
          thread, thereby blocking additional outbound messages when the router is
          hosed.
        * No need to validate or persist a netDb entry if we already have it
    And for some udp stuff:
    * only bid on what we know (duh)
    * reduceed the queue size in the UDPSender itself, so that ACKs go
      through more quickly, leaving the payload messages to queue up in
      the outbound fragment scheduler
    * rather than /= 2 on congestion, /= 2/3 (still AIMD, but less drastic)
    * adjust the fragment selector so a wsiz throttle won't force extra
      volleys
    * mark congestion when it occurs, not after the message has been
      ACKed
    * when doing a round robin over the active messages, move on to the
      next after a full volley, not after each packet (causing less "fair"
      performance but better latency)
    * reduced the lock contention in the inboundMessageFragments by
      moving the ack and complete queues to the ACKSender and
      MessageReceiver respectively (each of which have their own
      threads)
    * prefer new and existing UDP sessions to new TCP sessions, but
      prefer existing TCP sessions to new UDP sessions
    4ce51261
    History
    2005-04-28 jrandom
    jrandom authored and zzz's avatar zzz committed
        * More fixes for the I2PTunnel "other" interface handling (thanks nelgin!)
        * Add back the code to handle bids from multiple transports (though there
          is still only one transport enabled by default)
        * Adjust the router's queueing of outbound client messages when under
          heavy load by running the preparatory job in the client's I2CP handler
          thread, thereby blocking additional outbound messages when the router is
          hosed.
        * No need to validate or persist a netDb entry if we already have it
    And for some udp stuff:
    * only bid on what we know (duh)
    * reduceed the queue size in the UDPSender itself, so that ACKs go
      through more quickly, leaving the payload messages to queue up in
      the outbound fragment scheduler
    * rather than /= 2 on congestion, /= 2/3 (still AIMD, but less drastic)
    * adjust the fragment selector so a wsiz throttle won't force extra
      volleys
    * mark congestion when it occurs, not after the message has been
      ACKed
    * when doing a round robin over the active messages, move on to the
      next after a full volley, not after each packet (causing less "fair"
      performance but better latency)
    * reduced the lock contention in the inboundMessageFragments by
      moving the ack and complete queues to the ACKSender and
      MessageReceiver respectively (each of which have their own
      threads)
    * prefer new and existing UDP sessions to new TCP sessions, but
      prefer existing TCP sessions to new UDP sessions
To find the state of this project's repository at the time of any of these versions, check out the tags.