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.