fabric.messages
Class DissemReadMessage

java.lang.Object
  extended by fabric.messages.Message<RemoteStore,DissemReadMessage.Response>
      extended by fabric.messages.DissemReadMessage

public final class DissemReadMessage
extends Message<RemoteStore,DissemReadMessage.Response>

A DissemReadMessage represents a request from a dissemination node to read an object at a store. This implicitly subscribes the worker to receive the next update to the object.


Nested Class Summary
static class DissemReadMessage.Response
           
 
Nested classes/interfaces inherited from class fabric.messages.Message
Message.MessageType
 
Field Summary
 long onum
          The onum of the object to read.
 
Fields inherited from class fabric.messages.Message
messageType
 
Constructor Summary
protected DissemReadMessage(java.io.DataInput in)
          Deserialization constructor.
  DissemReadMessage(long onum)
          Creates a read request for a worker.
 
Method Summary
 DissemReadMessage.Response dispatch(MessageHandlerThread w)
          Calls the appropriate handle(...) method on the handler.
 DissemReadMessage.Response response(RemoteStore c, java.io.DataInput in)
          Creates a Response message of the appropriate type using the provided input stream.
 DissemReadMessage.Response send(RemoteStore store)
           
 void write(java.io.DataOutput out)
          Writes this message out on the given output stream.
 
Methods inherited from class fabric.messages.Message
dispatch, receive, send
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

onum

public final long onum
The onum of the object to read.

Constructor Detail

DissemReadMessage

public DissemReadMessage(long onum)
Creates a read request for a worker.


DissemReadMessage

protected DissemReadMessage(java.io.DataInput in)
                     throws java.io.IOException
Deserialization constructor.

Throws:
java.io.IOException
Method Detail

dispatch

public DissemReadMessage.Response dispatch(MessageHandlerThread w)
                                    throws AccessException
Description copied from class: Message
Calls the appropriate handle(...) method on the handler.

Overrides:
dispatch in class Message<RemoteStore,DissemReadMessage.Response>
Returns:
the result computed by the handler
Throws:
AccessException

send

public DissemReadMessage.Response send(RemoteStore store)
                                throws FetchException
Throws:
FetchException

response

public DissemReadMessage.Response response(RemoteStore c,
                                           java.io.DataInput in)
                                    throws java.io.IOException
Description copied from class: Message
Creates a Response message of the appropriate type using the provided input stream.

Specified by:
response in class Message<RemoteStore,DissemReadMessage.Response>
Parameters:
c - the remote node from which the response originated.
in - Input stream containing the message.
Returns:
A Response message with the appropriate type.
Throws:
java.io.IOException

write

public void write(java.io.DataOutput out)
           throws java.io.IOException
Description copied from class: Message
Writes this message out on the given output stream. Only used by the worker.

Specified by:
write in class Message<RemoteStore,DissemReadMessage.Response>
Throws:
java.io.IOException - if the output stream throws an IOException.