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

Doug Cutting commented on AVRO-539:
-----------------------------------

This is great stuff!  A few comments on the patch:
 - Rather than calling the new APIs 'asynchronous' might we instead consider 
them 'Callback-based' and/or 'Future-based'?  They'd be friendly to async 
implementations, but a synchronous implementation would be permitted.  In 
particular, I think we can remove 'asynchronous' from the names of these 
methods.
 - Do we really need both Callback-based and Future-based APIs?
 - The name of the generated interface and methods should avoid potential 
collisions with user-defined interfaces and messages, perhaps by using '$'.  
Alternately, we might just generate a single interface and not use different 
method names, rather distinguishing by method signature.  No user method should 
accept a org.apache.avro.ipc.Callback parameter, so we would not need to worry 
about method signature collisions.
 - Should we make generation of Callback/Future-based interfaces optional?
 - in Transceiver, can we implement the Callback/Future-based API synchronously 
in terms of the existing API, rather than throwing an exception?  
 - in Requestor, can we implement the synchronous version in terms of the 
Callback-based API so that less logic is replicated?

> Allow asynchronous clients to specify a callback to be run when server 
> processing completes
> -------------------------------------------------------------------------------------------
>
>                 Key: AVRO-539
>                 URL: https://issues.apache.org/jira/browse/AVRO-539
>             Project: Avro
>          Issue Type: New Feature
>            Reporter: Jeff Hammerbacher
>         Attachments: AVRO-539.patch
>
>


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to