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.
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.