Image was created using http://flowchart.js.org/
Metadata: 

st=>start: Transmission sending finished
e=>end: Finish
cond1=>condition: Failed
with WebException that has
HttpWebResponse
cond2=>condition: StatusCode
408/500/503
op1=>operation: Report Warning
op2=>operation: Buffer and sender capacity = 0
op3=>operation: Set timver to restore capacity. Interval 
either from Retry-After or exponential backoff
op4=>operation: Number of errors +1 (used to 
calculate exp. backoff) if it was not 
updated in the last 10sec
op5=>operation: Enqueue failed transaction back

st->cond1
cond1(yes)->cond2
cond1(no)->op1->e
cond2(yes, bottom)->op2(right)->op3->op4->op5->e
cond2(no)->op1->e