Details
-
New Feature
-
Status: Closed
-
Minor
-
Resolution: Incomplete
-
0.9
-
None
-
all
-
Patch Available
Description
Integrates some code we've been using (here at facebook) to add event handlers that can handle processor events with the server event handlers in apache thrift.
Processor events include: preRead (before reading arguments), postRead (after reading arguments), preWrite (before writing results), postWrite (after writing results), and processorError (when a non-IDL exception is thrown as a result of an error handling the request). The processor handler is given the method name and input and output protocol that will be used to process the request, and can inspect arguments on postRead, and results on pre/postWrite events.
This change also enables event handlers for non-blocking servers.
Some unit tests are included to exercise the new processor event handlers, and demonstrate how they can connect with server event handlers.
It also fixes a minor bug I found while testing, where FrameBuffers on non-blocking servers could have been close()'d more than once.