OpenSearch/libs
Tim Brooks 4ea9ddb7d3
Unify nio read / write channel contexts (#28160)
This commit is related to #27260. Right now we have separate read and
write contexts for implementing specific protocol logic. However, some
protocols require a closer relationship between read and write
operations than is allowed by our current model. An example is HTTP
which might require a write if some problem with request parsing was
encountered.

Additionally, some protocols require close messages to be sent when a
channel is shutdown. This is also problematic in our current model,
where we assume that channels should simply be queued for close and
forgotten.

This commit transitions to a single ChannelContext which implements
all read, write, and close logic for protocols. It is the job of the
context to tell the selector when to close the channel. A channel can
still be manually queued for close with a selector. This is how server
channels are closed for now. And this route allows timeout mechanisms on
normal channel closes to be implemented.
2018-01-17 09:44:21 -07:00
..
elasticsearch-core Fix eclipse build. (#28236) 2018-01-16 10:50:07 +01:00
elasticsearch-nio Unify nio read / write channel contexts (#28160) 2018-01-17 09:44:21 -07:00
plugin-classloader Plugins: Add plugin extension capabilities (#27881) 2018-01-03 11:12:43 -08:00