[ 
https://issues.apache.org/jira/browse/THRIFT-1708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13539666#comment-13539666
 ] 

Roger Meier commented on THRIFT-1708:
-------------------------------------

Andrew, this is a nice feature we should merge.

I have one question on the processor api, where you did this change:
{noformat}
-      processor.process(inProtocol, outProtocol);
+      TProcessorContext context = new TProcessorContext(inProtocol, 
outProtocol);
+      processor.process(context, inProtocol, outProtocol);
{noformat}

Why do we need to add protocol parameters to process function again?
I would prefer something like this:
{noformat}
-      processor.process(inProtocol, outProtocol);
+      TProcessorContext context = new TProcessorContext(inProtocol, 
outProtocol);
+      processor.process(context);
{noformat}

Or did I miss something here?

roger
;-r

                
> Add event handlers for processor events
> ---------------------------------------
>
>                 Key: THRIFT-1708
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1708
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Java - Library
>    Affects Versions: 0.9
>         Environment: all
>            Reporter: Andrew Cox
>            Assignee: Andrew Cox
>            Priority: Minor
>             Fix For: 1.0
>
>         Attachments: thrift-1708-processor-event-handlers.patch
>
>
> 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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to