org.apache.avro.ipc
Class NettyTransceiver

java.lang.Object
  extended by org.apache.avro.ipc.Transceiver
      extended by org.apache.avro.ipc.NettyTransceiver
All Implemented Interfaces:
Closeable

public class NettyTransceiver
extends Transceiver

A Netty-based Transceiver implementation.


Constructor Summary
NettyTransceiver(InetSocketAddress addr)
           
NettyTransceiver(InetSocketAddress addr, org.jboss.netty.channel.ChannelFactory channelFactory)
           
 
Method Summary
 void close()
           
 Protocol getRemote()
          Returns the protocol passed to Transceiver.setRemote(Protocol).
 String getRemoteName()
           
 boolean isConnected()
          True if a handshake has been completed for this connection.
 List<ByteBuffer> readBuffers()
          Called by the default definition of Transceiver.transceive(List).
 void setRemote(Protocol protocol)
          Called with the remote protocol when a handshake has been completed.
 List<ByteBuffer> transceive(List<ByteBuffer> request)
          Override as non-synchronized method because the method is thread safe.
 void writeBuffers(List<ByteBuffer> buffers)
          Called by Requestor.request(String,Object) for one-way messages.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NettyTransceiver

public NettyTransceiver(InetSocketAddress addr)

NettyTransceiver

public NettyTransceiver(InetSocketAddress addr,
                        org.jboss.netty.channel.ChannelFactory channelFactory)
Method Detail

close

public void close()
Specified by:
close in interface Closeable
Overrides:
close in class Transceiver

getRemoteName

public String getRemoteName()
Specified by:
getRemoteName in class Transceiver

transceive

public List<ByteBuffer> transceive(List<ByteBuffer> request)
                            throws IOException
Override as non-synchronized method because the method is thread safe.

Overrides:
transceive in class Transceiver
Throws:
IOException

writeBuffers

public void writeBuffers(List<ByteBuffer> buffers)
                  throws IOException
Description copied from class: Transceiver
Called by Requestor.request(String,Object) for one-way messages.

Specified by:
writeBuffers in class Transceiver
Throws:
IOException

readBuffers

public List<ByteBuffer> readBuffers()
                             throws IOException
Description copied from class: Transceiver
Called by the default definition of Transceiver.transceive(List).

Specified by:
readBuffers in class Transceiver
Throws:
IOException

getRemote

public Protocol getRemote()
Description copied from class: Transceiver
Returns the protocol passed to Transceiver.setRemote(Protocol). Throws IllegalStateException by default.

Overrides:
getRemote in class Transceiver

isConnected

public boolean isConnected()
Description copied from class: Transceiver
True if a handshake has been completed for this connection. Used to determine whether a handshake need be completed prior to a one-way message. Requests and responses are always prefixed by handshakes, but one-way messages. If the first request sent over a connection is one-way, then a handshake-only response is returned. Subsequent one-way messages over the connection will have no response data sent. Returns false by default.

Overrides:
isConnected in class Transceiver

setRemote

public void setRemote(Protocol protocol)
Description copied from class: Transceiver
Called with the remote protocol when a handshake has been completed. After this has been called and while a connection is maintained, Transceiver.isConnected() should return true and #getRemote() should return this protocol. Does nothing by default.

Overrides:
setRemote in class Transceiver


Copyright © 2011 The Apache Software Foundation. All Rights Reserved.