nskinkel / oppy

A Tor client (onion proxy) implementation in Python
BSD 3-Clause "New" or "Revised" License
24 stars 3 forks source link

Circuit-level handling of buffered data when flow control window hits zero #72

Closed nskinkel closed 9 years ago

nskinkel commented 9 years ago

Each circuit has a flow control window which dictates how many RELAY_DATA cells it can both send and receive. When this window drops below some threshold, a circuit should notify its remote OR's to up their window with a RELAY_SENDME cell. When/if this window hits zero, a circuit must buffer data until its window is incremented and it can send data again.

The question is, what to do with this buffered data if some error happens or the circuit is torn down?

Is it ok to just lose this for now? I'm leaning towards just dropping all of this buffered data for now as a simplification and possibly revisiting this later if it becomes problematic.

nskinkel commented 9 years ago

closed in #76