[ 
https://issues.apache.org/jira/browse/AVRO-76?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

George Porter updated AVRO-76:
------------------------------

    Attachment: AVRO-76.patch

This patch implements a plug-in mechanism for manipulating per-call metadata 
that was recently committed.

Several of the interfaces used to create Requestors and Responders, as well as 
the {code}getProxy(){code} methods used to instantiate RPC proxies have been 
extended to allow for the user to specify a class that will be used to set, 
query, and manipulate the per-call metadata.

People wanting to use this mechanism can create a subclass of 
{code}CallMetaHandler{code}, overriding the behavior of the instrumentation 
points that are called at key points in the code.  Those instrumentation points 
are:

{code}

public void clientSendRequest(String msgName, Schema s, Object request) { }
public void serverReceiveRequest(String msgName, Schema s, Object request) { }
public void serverSendResponse(String msgName, Schema s, Object response) { }
public void serverSendError(String msgName, Schema s, AvroRemoteException 
error) { }
public void clientReceiveResponse(String msgName, Schema s, Object response) { }
public void clientReceiveError(String msgName, Schema s, AvroRemoteException 
error) { }
{code}

In addition to these instrumentation APIs being called during the RPC exchange, 
they can also set or query per-call path state.  This path state is passed 
along the RPC.

> Add plug-in mechanism for manipulating per-call metadata
> --------------------------------------------------------
>
>                 Key: AVRO-76
>                 URL: https://issues.apache.org/jira/browse/AVRO-76
>             Project: Avro
>          Issue Type: Sub-task
>            Reporter: George Porter
>            Assignee: George Porter
>         Attachments: AVRO-76.patch
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to