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

Skip to content
Snippets Groups Projects
  • zzz's avatar
    811442f9
    Transport: Async NTCP writes (MR !43) · 811442f9
    zzz authored
    - Write directly from writer threads, except for during establishment and when write doesn't complete; throw those to the pumper as usual
    - New NTCPCon writelock, readlock, and statlock (formerly all on NTCPCon.this) to prevent deadlocks
    - NTCPCon chan and key now volatile, remove synch to prevent deadlocks
    - All interestOps changes now lock on the key via setInterest() and clearInterest() since changes may now happen in multiple threads
    - Set _paddingConfig at initialization to avoid NPE
    
    Greatly reduces pumper loops and CPU
    
    As proposed by jogger
    Reviewed by zlatinb
    Ref: http://zzz.i2p/topics/3192
    Transport: Async NTCP writes (MR !43)
    zzz authored
    - Write directly from writer threads, except for during establishment and when write doesn't complete; throw those to the pumper as usual
    - New NTCPCon writelock, readlock, and statlock (formerly all on NTCPCon.this) to prevent deadlocks
    - NTCPCon chan and key now volatile, remove synch to prevent deadlocks
    - All interestOps changes now lock on the key via setInterest() and clearInterest() since changes may now happen in multiple threads
    - Set _paddingConfig at initialization to avoid NPE
    
    Greatly reduces pumper loops and CPU
    
    As proposed by jogger
    Reviewed by zlatinb
    Ref: http://zzz.i2p/topics/3192
To find the state of this project's repository at the time of any of these versions, check out the tags.