Sirikata
Public Member Functions | Protected Attributes
Sirikata::LocationUpdatePolicy Class Reference

LocationUpdatePolicy controls when updates are sent to subscribers. More...

#include <LocationService.hpp>

Inheritance diagram for Sirikata::LocationUpdatePolicy:
Collaboration diagram for Sirikata::LocationUpdatePolicy:

List of all members.

Public Member Functions

 LocationUpdatePolicy ()
virtual ~LocationUpdatePolicy ()
virtual void initialize (LocationService *loc)
virtual void start ()=0
virtual void stop ()=0
virtual void subscribe (ServerID remote, const UUID &uuid, SeqNoPtr seqNo)=0
 Subscribe remote for updates about uuid.
virtual void subscribe (ServerID remote, const UUID &uuid, ProxIndexID index_id, SeqNoPtr seqNo)=0
 Subscribe remote for updates about uuid.
virtual void unsubscribe (ServerID remote, const UUID &uuid)=0
 Unsubscribe remote for updates about uuid.
virtual void unsubscribe (ServerID remote, const UUID &uuid, ProxIndexID index_id)=0
 Unsubscribe remote for updates about uuid.
virtual void unsubscribe (ServerID remote)=0
 Unsubscribe remote for updates about all objects across all indices.
virtual void subscribe (const OHDP::NodeID &remote, const UUID &uuid)=0
 Subscribe remote for updates about uuid.
virtual void subscribe (const OHDP::NodeID &remote, const UUID &uuid, ProxIndexID index_id)=0
 Subscribe remote for updates about uuid.
virtual void unsubscribe (const OHDP::NodeID &remote, const UUID &uuid)=0
 Unsubscribe remote for updates about uuid.
virtual void unsubscribe (const OHDP::NodeID &remote, const UUID &uuid, ProxIndexID index_id)=0
 Unsubscribe remote for updates about uuid.
virtual void unsubscribe (const OHDP::NodeID &remote)=0
 Unsubscribe remote for updates about all objects across all indices.
virtual void subscribe (const UUID &remote, const UUID &uuid)=0
 Subscribe remote for updates about uuid.
virtual void subscribe (const UUID &remote, const UUID &uuid, ProxIndexID index_id)=0
 Subscribe remote for updates about uuid.
virtual void unsubscribe (const UUID &remote, const UUID &uuid)=0
 Unsubscribe remote for updates about uuid.
virtual void unsubscribe (const UUID &remote, const UUID &uuid, ProxIndexID index_id)=0
 Unsubscribe remote for updates about uuid.
virtual void unsubscribe (const UUID &remote)=0
 Unsubscribe remote for updates about all objects across all indices.
virtual void service ()=0

Protected Attributes

LocationServicemLocService
Router< Message * > * mLocMessageRouter

Detailed Description

LocationUpdatePolicy controls when updates are sent to subscribers.

It is informed of subscriptions, object location updates, and gets regular tick calls. Based on this information it decides when to send updates to individual subscribers.


Constructor & Destructor Documentation

Sirikata::LocationUpdatePolicy::LocationUpdatePolicy ( )
Sirikata::LocationUpdatePolicy::~LocationUpdatePolicy ( ) [virtual]

References mLocMessageRouter.


Member Function Documentation

void Sirikata::LocationUpdatePolicy::initialize ( LocationService loc) [virtual]
virtual void Sirikata::LocationUpdatePolicy::service ( ) [pure virtual]
virtual void Sirikata::LocationUpdatePolicy::start ( ) [pure virtual]
virtual void Sirikata::LocationUpdatePolicy::stop ( ) [pure virtual]
virtual void Sirikata::LocationUpdatePolicy::subscribe ( const OHDP::NodeID remote,
const UUID uuid 
) [pure virtual]

Subscribe remote for updates about uuid.

This version implicitly assumes only one index_id since it is omitted (index_id is only relevant for replicating multiple trees/indexes).

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

virtual void Sirikata::LocationUpdatePolicy::subscribe ( ServerID  remote,
const UUID uuid,
SeqNoPtr  seqNo 
) [pure virtual]

Subscribe remote for updates about uuid.

This version implicitly assumes only one index_id since it is omitted (index_id is only relevant for replicating multiple trees/indexes).

Use seqNo to generate sequence numbers to include in the updates to ensure correct ordering.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

Referenced by Sirikata::LocationService::subscribe().

virtual void Sirikata::LocationUpdatePolicy::subscribe ( ServerID  remote,
const UUID uuid,
ProxIndexID  index_id,
SeqNoPtr  seqNo 
) [pure virtual]

Subscribe remote for updates about uuid.

The index_id indicates the origin of the request and updates will continue until the same index_id has a corresponding unsubscribe call. In other words, if you call this method twice, it needs to be called twice with the same IDs before it stops sending updates. The index_id will be included in updates so the client knows what to update.

Use seqNo to generate sequence numbers to include in the updates to ensure correct ordering.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

virtual void Sirikata::LocationUpdatePolicy::subscribe ( const OHDP::NodeID remote,
const UUID uuid,
ProxIndexID  index_id 
) [pure virtual]

Subscribe remote for updates about uuid.

The index_id indicates the origin of the request and updates will continue until the same index_id has a corresponding unsubscribe call. In other words, if you call this method twice, it needs to be called twice with the same IDs before it stops sending updates. The index_id will be included in updates so the client knows what to update.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

virtual void Sirikata::LocationUpdatePolicy::subscribe ( const UUID remote,
const UUID uuid 
) [pure virtual]

Subscribe remote for updates about uuid.

This version implicitly assumes only one index_id since it is omitted (index_id is only relevant for replicating multiple trees/indexes).

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

virtual void Sirikata::LocationUpdatePolicy::subscribe ( const UUID remote,
const UUID uuid,
ProxIndexID  index_id 
) [pure virtual]

Subscribe remote for updates about uuid.

The index_id indicates the origin of the request and updates will continue until the same index_id has a corresponding unsubscribe call. In other words, if you call this method twice, it needs to be called twice with the same IDs before it stops sending updates. The index_id will be included in updates so the client knows what to update.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

virtual void Sirikata::LocationUpdatePolicy::unsubscribe ( const UUID remote,
const UUID uuid,
ProxIndexID  index_id 
) [pure virtual]

Unsubscribe remote for updates about uuid.

The index_id indicates the origin of the request -- the unsubscription only applies for that index_id so if any other index_id's have unmatched subscribe calls, updates will still be sent for those indices.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

virtual void Sirikata::LocationUpdatePolicy::unsubscribe ( const UUID remote) [pure virtual]

Unsubscribe remote for updates about all objects across all indices.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

virtual void Sirikata::LocationUpdatePolicy::unsubscribe ( ServerID  remote) [pure virtual]

Unsubscribe remote for updates about all objects across all indices.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

virtual void Sirikata::LocationUpdatePolicy::unsubscribe ( const OHDP::NodeID remote,
const UUID uuid,
ProxIndexID  index_id 
) [pure virtual]

Unsubscribe remote for updates about uuid.

The index_id indicates the origin of the request -- the unsubscription only applies for that index_id so if any other index_id's have unmatched subscribe calls, updates will still be sent for those indices.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

virtual void Sirikata::LocationUpdatePolicy::unsubscribe ( ServerID  remote,
const UUID uuid 
) [pure virtual]

Unsubscribe remote for updates about uuid.

This version implicitly assumes only one index_id, i.e. that multiple tree replication is not being used.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

Referenced by Sirikata::LocationService::unsubscribe().

virtual void Sirikata::LocationUpdatePolicy::unsubscribe ( ServerID  remote,
const UUID uuid,
ProxIndexID  index_id 
) [pure virtual]

Unsubscribe remote for updates about uuid.

The index_id indicates the origin of the request -- the unsubscription only applies for that index_id so if any other index_id's have unmatched subscribe calls, updates will still be sent for those indices.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

virtual void Sirikata::LocationUpdatePolicy::unsubscribe ( const UUID remote,
const UUID uuid 
) [pure virtual]

Unsubscribe remote for updates about uuid.

This version implicitly assumes only one index_id, i.e. that multiple tree replication is not being used.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

virtual void Sirikata::LocationUpdatePolicy::unsubscribe ( const OHDP::NodeID remote,
const UUID uuid 
) [pure virtual]

Unsubscribe remote for updates about uuid.

This version implicitly assumes only one index_id, i.e. that multiple tree replication is not being used.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.

virtual void Sirikata::LocationUpdatePolicy::unsubscribe ( const OHDP::NodeID remote) [pure virtual]

Unsubscribe remote for updates about all objects across all indices.

Implemented in Sirikata::AlwaysLocationUpdatePolicy.


Member Data Documentation


The documentation for this class was generated from the following files: