Justin, that's the purpose of a Poll bucket. If we introduce the concept, here's the scenario; whenever a 'speculative' or 'non blocking' read or write is attempted and fails, at whatever depth (the socket or the ssl filter itself), a metadata bucket comes back saying 'I got stuck - here! Wait on this fd/event.'
No, that's not the problem. The problem is that some connection filter has a buffer that was read from the socket but hasn't passed that along yet. Hence, a poll bucket is worthless in this scenario. AIUI, a poll bucket would be useful to abstract the pollset API. But, I'm not sure that's helpful to solve this problem.
FWIW, if we start to go down this route, to me this smells like 2.3 candidate work. This is likely going to snowball real fast into other areas and I'd really like to keep us close to seriously discussing 2.2 at AC in a few weeks instead of throwing HEAD into turmoil with these changes.
I think you are oversimplifying. 3rd party modules expect they will remain glued to a thread. When a request can start to 'bounce' between threads, we will likely need to push to 3.0.
I certainly don't think I'm oversimplifying. And, 2.3 could certainly yield 3.0 based on our versioning scheme: we can't go to 3.0 directly. -- justin
