I looked into your patch, but I found a problem that it doesn't throttle write requests. I guess we shouldn't call flush(SocketSessionImpl) if the mark doesn't contain OP_WRITE. WDYT?
I have attached a diff against the current trunk which contains my shot
at implementing traffic control. I have concentrated on TCP connections
so the suspend/resume/Read/Write methods have been added to
SocketSession for now. Please let me know what you think of the code and
if you have any idea on how to test this. I have tested
suspending/resuming read operations in our application and it seems to
be working just fine. But I would really like to write a TestCase
testing suspending/resuming reads and writes.