## org.apache.cassandra.net
Class MessagingService

    java.lang.Object
      org.apache.cassandra.net.MessagingService

All Implemented Interfaces:
  IFailureDetectionEventListener

    public class MessagingService

extends java.lang.Object
implements IFailureDetectionEventListener

Field Summary
`static MessagingService` `instance`
`static int` `PROTOCOL_MAGIC` we preface every message with this number so the recipient can validate the sender is sane

Constructor Summary
`protected` `MessagingService()`

Method Summary
`void` `addCallback(IAsyncCallback cb, java.lang.String messageId)`
`java.lang.Object` `clone()`
`static java.nio.ByteBuffer` `constructStreamHeader(boolean compress)`
`void` `convict(java.net.InetAddress ep)` called by failure detection code to notify that housekeeping should be performed on downed sockets.
`static IAsyncResult` `getAsyncResult(java.lang.String key)`
`static int` `getBits(int x, int p, int n)`
`static OutboundTcpConnection` `getConnection(java.net.InetAddress to, Message msg)`
`static org.apache.cassandra.net.OutboundTcpConnectionPool` `getConnectionPool(java.net.InetAddress to)`
`static java.util.concurrent.ExecutorService` `getDeserializationExecutor()`
`static IAsyncCallback` `getRegisteredCallback(java.lang.String key)`
`IVerbHandler` `getVerbHandler(StorageService.Verb type)` This method returns the verb handler associated with the registered verb.
`byte[]` `hash(java.lang.String type, byte[] data)`
`void` `listen(java.net.InetAddress localEp)` Listen on the specified port.
`static java.nio.ByteBuffer` `packIt(byte[] bytes, boolean compress)`
`static void` `receive(Message message)`
`void` `registerVerbHandlers(StorageService.Verb verb, IVerbHandler verbHandler)` Register a verb and the corresponding verb handler with the Messaging Service.
`static void` `removeRegisteredCallback(java.lang.String key)`
`void` `sendOneWay(Message message, java.net.InetAddress to)` Send a message to a given endpoint.
`java.lang.String` `sendRR(Message[] messages, java.net.InetAddress[] to, IAsyncCallback cb)` Send a message to a given endpoint.
`IAsyncResult` `sendRR(Message message, java.net.InetAddress to)`
`java.lang.String` `sendRR(Message message, java.net.InetAddress[] to, IAsyncCallback cb)` Send a message to a given endpoint.
`java.lang.String` `sendRR(Message message, java.net.InetAddress to, IAsyncCallback cb)` Send a message to a given endpoint.
`static void` `shutdown()`
`void` `stream(java.lang.String file, long startPosition, long endPosition, java.net.InetAddress from, java.net.InetAddress to)` Stream a file from source to destination.
`static void` `validateMagic(int magic)`
`static void` `waitFor()` blocks until the processing pools are empty and done.
`void` `waitUntilListening()`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### PROTOCOL_MAGIC

    public static final int PROTOCOL_MAGIC

  we preface every message with this number so the recipient can validate the sender is sane

  See Also:
    Constant Field Values

### instance

    public static final MessagingService instance

Constructor Detail

### MessagingService

    protected MessagingService()

Method Detail

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Overrides:
    `clone` in class `java.lang.Object`
  Throws:
    `java.lang.CloneNotSupportedException`

### hash

    public byte[] hash(java.lang.String type,
                       byte[] data)

### convict

    public void convict(java.net.InetAddress ep)

  called by failure detection code to notify that housekeeping should be performed on downed sockets.

  Specified by:
    `convict` in interface `IFailureDetectionEventListener`
  Parameters:
    `ep` - endpoint to be convicted

### listen

    public void listen(java.net.InetAddress localEp)
                throws java.io.IOException

  Listen on the specified port.

  Parameters:
    `localEp` - InetAddress whose port to listen on.
  Throws:
    `java.io.IOException`

### waitUntilListening

    public void waitUntilListening()

### getConnectionPool

    public static org.apache.cassandra.net.OutboundTcpConnectionPool getConnectionPool(java.net.InetAddress to)

### getConnection

    public static OutboundTcpConnection getConnection(java.net.InetAddress to,
                                                      Message msg)

### registerVerbHandlers

    public void registerVerbHandlers(StorageService.Verb verb,
                                     IVerbHandler verbHandler)

  Register a verb and the corresponding verb handler with the Messaging Service.

  Parameters:
    `verb` -
    `verbHandler` - handler for the specified verb

### getVerbHandler

    public IVerbHandler getVerbHandler(StorageService.Verb type)

  This method returns the verb handler associated with the registered verb. If no handler has been registered then null is returned.

  Parameters:
    `type` - for which the verb handler is sought
  Returns:
    a reference to IVerbHandler which is the handler for the specified verb

### sendRR

    public java.lang.String sendRR(Message message,
                                   java.net.InetAddress[] to,
                                   IAsyncCallback cb)

  Send a message to a given endpoint.

  Parameters:
    `message` - message to be sent.
    `to` - endpoint to which the message needs to be sent
  Returns:
    an reference to an IAsyncResult which can be queried for the response

### addCallback

    public void addCallback(IAsyncCallback cb,
                            java.lang.String messageId)

### sendRR

    public java.lang.String sendRR(Message message,
                                   java.net.InetAddress to,
                                   IAsyncCallback cb)

  Send a message to a given endpoint. This method specifies a callback which is invoked with the actual response.

  Parameters:
    `message` - message to be sent.
    `to` - endpoint to which the message needs to be sent
    `cb` - callback interface which is used to pass the responses or suggest that a timeout occurred to the invoker of the send(). suggest that a timeout occurred to the invoker of the send().
  Returns:
    an reference to message id used to match with the result

### sendRR

    public java.lang.String sendRR(Message[] messages,
                                   java.net.InetAddress[] to,
                                   IAsyncCallback cb)

  Send a message to a given endpoint. The ith element in the `messages` array is sent to the ith element in the `to` array.This method assumes there is a one-one mapping between the `messages` array and the `to` array. Otherwise an IllegalArgumentException will be thrown. This method also informs the MessagingService to wait for at least `howManyResults` responses to determine success of failure.

  Parameters:
    `messages` - messages to be sent.
    `to` - endpoints to which the message needs to be sent
    `cb` - callback interface which is used to pass the responses or suggest that a timeout occured to the invoker of the send().
  Returns:
    an reference to message id used to match with the result

### sendOneWay

    public void sendOneWay(Message message,
                           java.net.InetAddress to)

  Send a message to a given endpoint. This method adheres to the fire and forget style messaging.

  Parameters:
    `message` - messages to be sent.
    `to` - endpoint to which the message needs to be sent

### sendRR

    public IAsyncResult sendRR(Message message,
                               java.net.InetAddress to)

### stream

    public void stream(java.lang.String file,
                       long startPosition,
                       long endPosition,
                       java.net.InetAddress from,
                       java.net.InetAddress to)

  Stream a file from source to destination. This is highly optimized to not hold any of the contents of the file in memory.

  Parameters:
    `file` - name of file to stream.
    `startPosition` - position inside the file
    `endPosition` -
    `to` - endpoint to which we need to stream the file.

### waitFor

    public static void waitFor()
                        throws java.lang.InterruptedException

  blocks until the processing pools are empty and done.

  Throws:
    `java.lang.InterruptedException`

### shutdown

    public static void shutdown()

### receive

    public static void receive(Message message)

### getRegisteredCallback

    public static IAsyncCallback getRegisteredCallback(java.lang.String key)

### removeRegisteredCallback

    public static void removeRegisteredCallback(java.lang.String key)

### getAsyncResult

    public static IAsyncResult getAsyncResult(java.lang.String key)

### getDeserializationExecutor

    public static java.util.concurrent.ExecutorService getDeserializationExecutor()

### validateMagic

    public static void validateMagic(int magic)
                              throws java.io.IOException

  Throws:
    `java.io.IOException`

### getBits

    public static int getBits(int x,
                              int p,
                              int n)

### packIt

    public static java.nio.ByteBuffer packIt(byte[] bytes,
                                             boolean compress)

### constructStreamHeader

    public static java.nio.ByteBuffer constructStreamHeader(boolean compress)

Copyright © 2010 The Apache Software Foundation