You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Philip Zeyliger (JIRA)" <ji...@apache.org> on 2009/12/30 21:36:29 UTC

[jira] Updated: (AVRO-271) InProcessTranceiver: connect RPCs without going through any sockets

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

Philip Zeyliger updated AVRO-271:
---------------------------------

    Attachment: AVRO-271.patch.txt

Attaching a patch.

The code itself is pretty trivial.  I think it's important that this exist in the src/java tree (and not the test/src/java) tree, because it's something that can be used for clients of AVRO testing their own code.  For example, when Hadoop sets up a MiniCluster, this could be used.

This was my first foray into the Transceiver initerface (really, abstract class).  Am I right that the interface would need to be changed to support a single transceiver being used to process multiple RPCs concurrently?  I was thinking of having InProcessTransceiver backed by an Executor, but it didn't make sense.  Naively, you could change Transceiver to be an interface with just getRemoteName(), close(), and transceive(), and the fact that many implementations share a synchronized transceive would be an implementation detail.  To be clear, I don't wish this JIRA to become the one where we maybe change Transceiver.java.

-- Philip

> InProcessTranceiver: connect RPCs without going through any sockets
> -------------------------------------------------------------------
>
>                 Key: AVRO-271
>                 URL: https://issues.apache.org/jira/browse/AVRO-271
>             Project: Avro
>          Issue Type: New Feature
>          Components: java
>            Reporter: Philip Zeyliger
>            Assignee: Philip Zeyliger
>         Attachments: AVRO-271.patch.txt
>
>
> For testing (both Avro itself, and code that uses
> Avro servers) it's sometimes handy to connect the RPCs without
> even a socket. This implementation of a Transceiver does just that.
> (This can, for users, both avoid the overhead of using sockets, and,
> in debugging, let users see stack traces that have both client
> and server code in one thread.)

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