Sirikata
|
#include <LoadMonitor.hpp>
Public Member Functions | |
LoadMonitor (SpaceContext *ctx, CoordinateSegmentation *cseg) | |
~LoadMonitor () | |
void | addLoadReading () |
void | sendLoadReadings () |
float | getCurrentLoadReading () |
float | getAveragedLoadReading () |
void | receiveMessage (Message *msg) |
Private Types | |
enum | { SEND_TO_NEIGHBORS, SEND_TO_ALL, SEND_TO_NONE, SEND_TO_CENTRAL, SEND_TO_DHT } |
Private Member Functions | |
virtual void | poll () |
Override this method to specify the work to be done when polling. | |
void | loadStatusMessage (const ServerID source, const Sirikata::Protocol::CSeg::LoadMessage &load_status_msg) |
bool | handlesAdjacentRegion (ServerID server_id) |
bool | isAdjacent (BoundingBox3f &box1, BoundingBox3f &box2) |
Private Attributes | |
SpaceContext * | mContext |
Router< Message * > * | mLoadServerMessageService |
CoordinateSegmentation * | mCoordinateSegmentation |
TimeProfiler::Stage * | mProfiler |
float | mCurrentLoadReading |
float | mAveragedLoadReading |
std::map< ServerID, float > | mRemoteLoadReadings |
anonymous enum [private] |
Sirikata::LoadMonitor::LoadMonitor | ( | SpaceContext * | ctx, |
CoordinateSegmentation * | cseg | ||
) |
References Sirikata::TimeProfiler::addStage(), Sirikata::ServerMessageRouter::createServerMessageService(), mContext, mLoadServerMessageService, mProfiler, Sirikata::Context::profiler, Sirikata::ServerMessageDispatcher::registerMessageRecipient(), SERVER_PORT_LOAD_STATUS, Sirikata::SpaceContext::serverDispatcher(), and Sirikata::SpaceContext::serverRouter().
Sirikata::LoadMonitor::~LoadMonitor | ( | ) |
void Sirikata::LoadMonitor::addLoadReading | ( | ) |
float Sirikata::LoadMonitor::getAveragedLoadReading | ( | ) |
References mAveragedLoadReading.
float Sirikata::LoadMonitor::getCurrentLoadReading | ( | ) |
bool Sirikata::LoadMonitor::handlesAdjacentRegion | ( | ServerID | server_id | ) | [private] |
References Sirikata::SpaceContext::id(), isAdjacent(), mContext, mCoordinateSegmentation, and Sirikata::CoordinateSegmentation::serverRegion().
Referenced by sendLoadReadings().
bool Sirikata::LoadMonitor::isAdjacent | ( | BoundingBox3f & | box1, |
BoundingBox3f & | box2 | ||
) | [private] |
Referenced by handlesAdjacentRegion().
void Sirikata::LoadMonitor::loadStatusMessage | ( | const ServerID | source, |
const Sirikata::Protocol::CSeg::LoadMessage & | load_status_msg | ||
) | [private] |
References mRemoteLoadReadings.
Referenced by receiveMessage().
void Sirikata::LoadMonitor::poll | ( | ) | [private, virtual] |
Override this method to specify the work to be done when polling.
Implements Sirikata::PollingService.
References addLoadReading(), Sirikata::TimeProfiler::Stage::finished(), Sirikata::GetOptionValue< bool >(), mProfiler, and Sirikata::TimeProfiler::Stage::started().
void Sirikata::LoadMonitor::receiveMessage | ( | Message * | msg | ) | [virtual] |
Implements Sirikata::MessageRecipient.
References loadStatusMessage(), Sirikata::parsePBJMessage(), Sirikata::Message::payload(), and Sirikata::Message::source_server().
void Sirikata::LoadMonitor::sendLoadReadings | ( | ) |
References handlesAdjacentRegion(), Sirikata::SpaceContext::id(), mAveragedLoadReading, mContext, mCoordinateSegmentation, mLoadServerMessageService, Sirikata::CoordinateSegmentation::numServers(), Sirikata::Router< MessageType >::route(), Sirikata::serializePBJMessage(), and SERVER_PORT_LOAD_STATUS.
Referenced by addLoadReading().
Referenced by addLoadReading(), getAveragedLoadReading(), and sendLoadReadings().
SpaceContext* Sirikata::LoadMonitor::mContext [private] |
Referenced by addLoadReading(), handlesAdjacentRegion(), LoadMonitor(), sendLoadReadings(), and ~LoadMonitor().
Referenced by addLoadReading(), handlesAdjacentRegion(), and sendLoadReadings().
Referenced by addLoadReading().
Referenced by LoadMonitor(), sendLoadReadings(), and ~LoadMonitor().
Reimplemented from Sirikata::PollingService.
Referenced by LoadMonitor(), poll(), and ~LoadMonitor().
std::map<ServerID, float> Sirikata::LoadMonitor::mRemoteLoadReadings [private] |
Referenced by addLoadReading(), and loadStatusMessage().