ostore.archive.dissemination
Class TypeResponseMsg

java.lang.Object
  |
  +--dd.api.DDRouteMsg
        |
        +--dd.api.DDMacRouteMsg
              |
              +--ostore.archive.dissemination.TypeResponseMsg
All Implemented Interfaces:
QueueElementIF, QuickSerializable

public class TypeResponseMsg
extends DDMacRouteMsg

TypeResponseMsg is a MAC'd (Message Authentication Certificate) response msg specifying a nodes is willingness to store Disseminatables.

USAGE

To create dissemination sets the SetCreator probes the system collecting information about a sufficiently large set of StorageServers. The SetCreator relies on the properties of dd to discover new servers. dd routes TypeRequestMsgs to the node that most closely matches the requested destination. Thus, even though the dd address space is sparse, the SetCreator can use a scan of the address space to reach a random set of StorageServers. StorageServers that are willing to store Disseminatables respond with a signed (i.e. MAC'd Message Authentication Certificate) statement of their type contained in a TypeResponseMsg.

Version:
$Id: TypeResponseMsg.java,v 1.14 2004/05/13 20:13:06 hweather Exp $
Author:
Hakim Weatherspoon
See Also:
DisseminatorStage, SetCreatorStage, ArchivalStorageStage, TypeRequestMsg, TypeResponseMsg, Disseminatable, TypeRequestMsg, DDMacRouteMsg

Field Summary
 QuickSerializable type
          type is the type of machine (e.g. domain, location, administration, etc) as a response to the original type request.
 
Fields inherited from class dd.api.DDRouteMsg
dd_intermediate_upcall, hopCount, inbound, one_hop, peer, recursive_route, TTL
 
Constructor Summary
TypeResponseMsg(InputBuffer buffer)
          Constructs a TypeResponseMsg from its serialized form.
TypeResponseMsg(SecureHash requestorGuid, QuickSerializable typeAck, boolean recursive_route, boolean dd_intermediate_upcall, boolean one_hop)
          Construct according to the given fields.
 
Method Summary
 QuickSerializable getType()
          getType returns the type to the RequestFragMsg.
 void serialize(OutputBuffer buffer)
          Specified by ostore.util.QuickSerializable
 String toString()
          Specified by java.lang.Object
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

type

public QuickSerializable type
type is the type of machine (e.g. domain, location, administration, etc) as a response to the original type request.

Constructor Detail

TypeResponseMsg

public TypeResponseMsg(SecureHash requestorGuid,
                       QuickSerializable typeAck,
                       boolean recursive_route,
                       boolean dd_intermediate_upcall,
                       boolean one_hop)
Construct according to the given fields.


TypeResponseMsg

public TypeResponseMsg(InputBuffer buffer)
                throws QSException
Constructs a TypeResponseMsg from its serialized form.

Parameters:
buffer - serialized form of object.
Method Detail

getType

public final QuickSerializable getType()
getType returns the type to the RequestFragMsg.

Returns:
the type to the RequestFragMsg.

serialize

public void serialize(OutputBuffer buffer)
Specified by ostore.util.QuickSerializable

Specified by:
serialize in interface QuickSerializable
Overrides:
serialize in class DDRouteMsg
Parameters:
buffer - the output buffer to add the object to

toString

public String toString()
Specified by java.lang.Object

Overrides:
toString in class Object