Sirikata
Classes | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes
Sirikata::CraqObjectSegmentation Class Reference

#include <CraqObjectSegmentation.hpp>

Inheritance diagram for Sirikata::CraqObjectSegmentation:
Collaboration diagram for Sirikata::CraqObjectSegmentation:

List of all members.

Classes

struct  NotFoundData
struct  TrackedSetResultsData
struct  TrackedSetResultsDataAdded

Public Member Functions

 CraqObjectSegmentation (SpaceContext *con, Network::IOStrand *o_strand, CoordinateSegmentation *cseg, OSegCache *cache, char unique)
virtual ~CraqObjectSegmentation ()
virtual OSegEntry lookup (const UUID &obj_id)
virtual OSegEntry cacheLookup (const UUID &obj_id)
virtual void migrateObject (const UUID &obj_id, const OSegEntry &new_server_id)
virtual void addNewObject (const UUID &obj_id, float radius)
virtual void addMigratedObject (const UUID &obj_id, float radius, ServerID idServerAckTo, bool)
virtual void removeObject (const UUID &obj_id)
virtual bool clearToMigrate (const UUID &obj_id)
virtual void craqGetResult (CraqOperationResult *cor)
virtual void craqSetResult (CraqOperationResult *cor)
virtual void stop ()
virtual int getPushback ()
Sirikata::Protocol::OSeg::MigrateMessageAcknowledge * generateAcknowledgeMessage (const UUID &obj_id, float radius, ServerID serverToAckTo)
virtual void handleMigrateMessageAck (const Sirikata::Protocol::OSeg::MigrateMessageAcknowledge &msg)
virtual void handleUpdateOSegMessage (const Sirikata::Protocol::OSeg::UpdateOSegMessage &update_oseg_msg)
void processMigrateMessageAcknowledge (const Sirikata::Protocol::OSeg::MigrateMessageAcknowledge &msg)
void processUpdateOSegMessage (const Sirikata::Protocol::OSeg::UpdateOSegMessage &update_oseg_msg)

Public Attributes

AtomicValue< int > mOSegQueueLen

Private Types

typedef
std::tr1::unordered_map< UUID,
CraqEntry, UUID::Hasher
ObjectSet
typedef
std::tr1::unordered_map< UUID,
TransLookup, UUID::Hasher
InTransitMap
typedef
std::tr1::unordered_map< int,
TrackedSetResultsData
TrackedMessageMap
typedef std::queue
< NotFoundData * > 
NfDataQ
typedef
std::tr1::unordered_map< int,
TrackedSetResultsDataAdded
TrackedMessageMapAdded

Private Member Functions

void notFoundFunction (CraqOperationResult *nf)
void checkNotFoundData ()
int getUniqueTrackID ()
void convert_obj_id_to_dht_key (const UUID &obj_id, CraqDataKey &returner) const
bool checkOwn (const UUID &obj_id, float *radius)
bool checkMigratingFromNotCompleteYet (const UUID &obj_id, float *radius)
void removeFromInTransOrLookup (const UUID &obj_id)
void removeFromReceivingObjects (const UUID &obj_id)
Sirikata::Protocol::OSeg::AddedObjectMessage * generateAddedMessage (const UUID &obj_id, float radius)
CraqEntry satisfiesCache (const UUID &obj_id)
void beginCraqLookup (const UUID &obj_id, OSegLookupTraceToken *traceToken)
void callOsegLookupCompleted (const UUID &obj_id, const CraqEntry &sID, OSegLookupTraceToken *traceToken)
bool shouldLog ()

Private Attributes

CoordinateSegmentationmCSeg
double checkOwnTimeDur
int checkOwnTimeCount
char myUniquePrefixKey
int numCacheHits
int numOnThisServer
int numLookups
int numCraqLookups
int numTimeElapsedCacheEviction
int numMigrationNotCompleteYet
int numAlreadyLookingUp
int numServices
int numLookingUpDebug
Duration lastTimerDur
std::map< std::string, UUIDmapDataKeyToUUID
InTransitMap mInTransitOrLookup
boost::mutex inTransOrLookup_m
TrackedMessageMap trackingMessages
ObjectSet mReceivingObjects
boost::mutex receivingObjects_m
NfDataQ mNfData
AsyncCraqHybrid craqDhtGet1
AsyncCraqHybrid craqDhtGet2
AsyncCraqHybrid craqDhtSet
AtomicValue< int > mAtomicTrackID
Network::IOStrandpostingStrand
Network::IOStrandmStrand
ObjectSet mObjects
TrackedMessageMapAdded trackedAddMessages
OSegCachemCraqCache
SpaceContextctx

Member Typedef Documentation

typedef std::tr1::unordered_map<UUID, CraqEntry, UUID::Hasher> Sirikata::CraqObjectSegmentation::ObjectSet [private]
typedef std::tr1::unordered_map<int, TrackedSetResultsData> Sirikata::CraqObjectSegmentation::TrackedMessageMap [private]

Constructor & Destructor Documentation

Sirikata::CraqObjectSegmentation::CraqObjectSegmentation ( SpaceContext con,
Network::IOStrand o_strand,
CoordinateSegmentation cseg,
OSegCache cache,
char  unique 
)
Sirikata::CraqObjectSegmentation::~CraqObjectSegmentation ( ) [virtual]

Member Function Documentation

void Sirikata::CraqObjectSegmentation::addMigratedObject ( const UUID obj_id,
float  radius,
ServerID  idServerAckTo,
bool  generateAck 
) [virtual]
void Sirikata::CraqObjectSegmentation::addNewObject ( const UUID obj_id,
float  radius 
) [virtual]
void Sirikata::CraqObjectSegmentation::beginCraqLookup ( const UUID obj_id,
OSegLookupTraceToken traceToken 
) [private]
OSegEntry Sirikata::CraqObjectSegmentation::cacheLookup ( const UUID obj_id) [virtual]
void Sirikata::CraqObjectSegmentation::callOsegLookupCompleted ( const UUID obj_id,
const CraqEntry sID,
OSegLookupTraceToken traceToken 
) [private]
bool Sirikata::CraqObjectSegmentation::checkMigratingFromNotCompleteYet ( const UUID obj_id,
float radius 
) [private]
void Sirikata::CraqObjectSegmentation::checkNotFoundData ( ) [private]
bool Sirikata::CraqObjectSegmentation::checkOwn ( const UUID obj_id,
float radius 
) [private]

References mObjects.

Referenced by lookup().

bool Sirikata::CraqObjectSegmentation::clearToMigrate ( const UUID obj_id) [virtual]
void Sirikata::CraqObjectSegmentation::convert_obj_id_to_dht_key ( const UUID obj_id,
CraqDataKey returner 
) const [private]
void Sirikata::CraqObjectSegmentation::craqGetResult ( CraqOperationResult cor) [virtual]
void Sirikata::CraqObjectSegmentation::craqSetResult ( CraqOperationResult cor) [virtual]
Sirikata::Protocol::OSeg::MigrateMessageAcknowledge * Sirikata::CraqObjectSegmentation::generateAcknowledgeMessage ( const UUID obj_id,
float  radius,
ServerID  serverToAckTo 
)
Sirikata::Protocol::OSeg::AddedObjectMessage * Sirikata::CraqObjectSegmentation::generateAddedMessage ( const UUID obj_id,
float  radius 
) [private]

Referenced by addNewObject().

int Sirikata::CraqObjectSegmentation::getPushback ( ) [virtual]

Reimplemented from Sirikata::ObjectSegmentation.

References mOSegQueueLen.

int Sirikata::CraqObjectSegmentation::getUniqueTrackID ( ) [private]

References mAtomicTrackID.

Referenced by addMigratedObject(), and addNewObject().

void Sirikata::CraqObjectSegmentation::handleMigrateMessageAck ( const Sirikata::Protocol::OSeg::MigrateMessageAcknowledge &  msg) [virtual]
void Sirikata::CraqObjectSegmentation::handleUpdateOSegMessage ( const Sirikata::Protocol::OSeg::UpdateOSegMessage &  update_oseg_msg) [virtual]
OSegEntry Sirikata::CraqObjectSegmentation::lookup ( const UUID obj_id) [virtual]
void Sirikata::CraqObjectSegmentation::migrateObject ( const UUID obj_id,
const OSegEntry new_server_id 
) [virtual]
void Sirikata::CraqObjectSegmentation::notFoundFunction ( CraqOperationResult nf) [private]
void Sirikata::CraqObjectSegmentation::processMigrateMessageAcknowledge ( const Sirikata::Protocol::OSeg::MigrateMessageAcknowledge &  msg)
void Sirikata::CraqObjectSegmentation::processUpdateOSegMessage ( const Sirikata::Protocol::OSeg::UpdateOSegMessage &  update_oseg_msg)
void Sirikata::CraqObjectSegmentation::removeFromInTransOrLookup ( const UUID obj_id) [private]
void Sirikata::CraqObjectSegmentation::removeFromReceivingObjects ( const UUID obj_id) [private]
void Sirikata::CraqObjectSegmentation::removeObject ( const UUID obj_id) [virtual]
CraqEntry Sirikata::CraqObjectSegmentation::satisfiesCache ( const UUID obj_id) [private]
bool Sirikata::CraqObjectSegmentation::shouldLog ( ) [private]

Referenced by lookup().

void Sirikata::CraqObjectSegmentation::stop ( ) [virtual]

Member Data Documentation

Referenced by CraqObjectSegmentation().

Referenced by CraqObjectSegmentation().

std::map<std::string, UUID > Sirikata::CraqObjectSegmentation::mapDataKeyToUUID [private]

Referenced by getUniqueTrackID().

Referenced by CraqObjectSegmentation().

Referenced by addMigratedObject(), and craqSetResult().


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