Sirikata
|
LocalPintoServerQuerier is a dummy implementation of PintoServerQuerier for single server setups. More...
#include <LocalPintoServerQuerier.hpp>
Public Member Functions | |
LocalPintoServerQuerier (SpaceContext *ctx) | |
virtual | ~LocalPintoServerQuerier () |
virtual void | start () |
virtual void | stop () |
virtual void | updateRegion (const BoundingBox3f ®ion) |
Update this server's parameters. | |
virtual void | updateLargestObject (float max_radius) |
Update this server's parameters. | |
virtual void | updateQuery (const String &update) |
Update query parameters with the server. | |
Private Member Functions | |
void | notifyResult () |
void | notifyLocUpdate () |
Private Attributes | |
SpaceContext * | mContext |
BoundingBox3f3f | mRegion |
float32 | mLargest |
UUID | mRootNodeID |
uint64 | mSeqnoSource |
LocalPintoServerQuerier is a dummy implementation of PintoServerQuerier for single server setups.
Since there is only one server, only a minimal set of results are returned.
Previous versions of this class did nothing, but for some Proximity implementations this isn't sufficient since they expect results from the Pinto server before they'll progress to evaluating any objects on any server. For these implementations, this class does implement what amounts to a single-node Pinto tree where the only node is for the only space server in the system and the result is always return immediately (though asynchronously), purely for bootstrapping.
Sirikata::LocalPintoServerQuerier::LocalPintoServerQuerier | ( | SpaceContext * | ctx | ) | [inline] |
virtual Sirikata::LocalPintoServerQuerier::~LocalPintoServerQuerier | ( | ) | [inline, virtual] |
void Sirikata::LocalPintoServerQuerier::notifyLocUpdate | ( | ) | [inline, private] |
void Sirikata::LocalPintoServerQuerier::notifyResult | ( | ) | [inline, private] |
References Sirikata::SpaceContext::id(), Sirikata::Quaternion::identity(), mContext, mLargest, mRegion, mRootNodeID, mSeqnoSource, Sirikata::Provider< PintoServerQuerierListener * >::notify(), Sirikata::Time::null(), Sirikata::PintoServerQuerierListener::onPintoServerResult(), and Sirikata::Context::simTime().
Referenced by start().
virtual void Sirikata::LocalPintoServerQuerier::start | ( | ) | [inline, virtual] |
Implements Sirikata::Service.
References Sirikata::Context::mainStrand, mContext, notifyResult(), and Sirikata::Network::IOStrand::post().
virtual void Sirikata::LocalPintoServerQuerier::stop | ( | ) | [inline, virtual] |
Implements Sirikata::Service.
virtual void Sirikata::LocalPintoServerQuerier::updateLargestObject | ( | float | max_radius | ) | [inline, virtual] |
Update this server's parameters.
max_radius | size of the largest object in the region |
Implements Sirikata::PintoServerQuerier.
References Sirikata::Context::mainStrand, mContext, mLargest, notifyLocUpdate(), and Sirikata::Network::IOStrand::post().
virtual void Sirikata::LocalPintoServerQuerier::updateQuery | ( | const String & | update | ) | [inline, virtual] |
Update query parameters with the server.
update | a string containing the data to send to the server as an update |
Implements Sirikata::PintoServerQuerier.
virtual void Sirikata::LocalPintoServerQuerier::updateRegion | ( | const BoundingBox3f & | region | ) | [inline, virtual] |
Update this server's parameters.
region | bounding box of the region covered by this server |
Implements Sirikata::PintoServerQuerier.
References Sirikata::Context::mainStrand, mContext, mRegion, notifyLocUpdate(), and Sirikata::Network::IOStrand::post().
Referenced by notifyLocUpdate(), notifyResult(), start(), updateLargestObject(), and updateRegion().
float32 Sirikata::LocalPintoServerQuerier::mLargest [private] |
Referenced by notifyLocUpdate(), notifyResult(), and updateLargestObject().
BoundingBox3f3f Sirikata::LocalPintoServerQuerier::mRegion [private] |
Referenced by notifyLocUpdate(), notifyResult(), and updateRegion().
Referenced by notifyResult().
uint64 Sirikata::LocalPintoServerQuerier::mSeqnoSource [private] |
Referenced by notifyLocUpdate(), and notifyResult().