Note: All the classes provided in this file are thin wrappers around the corresponding classes in ASIO.
More...
Namespaces |
namespace | Base64 |
namespace | Breakpad |
| Provides dump reporting on crashes.
|
namespace | Command |
| The Command namespace contains classes for handling external command requests, allowing external tools to interact with a live Sirikata process.
|
namespace | decodabet |
namespace | Disconnect |
namespace | Graphics |
| Namespace for the OGRE Graphics Plugin: see class OgreSystem.
|
namespace | Input |
namespace | JS |
namespace | Logging |
namespace | Mesh |
namespace | Models |
namespace | Network |
| Network contains Stream and TCPStream.
|
namespace | ODP |
namespace | ODPSST |
namespace | OH |
namespace | OHDP |
namespace | OHDPSST |
namespace | Path |
| Utilities for getting information about paths, such as the executable file, executable directory, current directory, etc.
|
namespace | QueueEnum |
namespace | SDL |
namespace | Signal |
| Provides utilities for interacting with signals.
|
namespace | SimpleCamera |
namespace | SST |
namespace | Task |
| Time.hpp -- Task-oriented time functions: DeltaTime and LocalTime for representing relative and absolute work queue times.
|
namespace | Trace |
namespace | Transfer |
namespace | XDP |
| XDP stands for X datagram protocol.
|
Classes |
class | Address4 |
class | NTPTimeSync |
| Handles synchronization with a central server. More...
|
class | ObjectMessage |
class | RecordSSTStream |
| RecordSSTStream wraps a regular SST stream, turning it into a record-based stream, i.e. More...
|
class | ServerIDMap |
class | ServerIDMapFactory |
class | InitializeClassOptions |
| A dummy class to statically initialize a bunch of option classes that could add to a module. More...
|
class | InitializeGlobalOptions |
| A dummy class to statically initialize a bunch of option classes that could add to a module. More...
|
class | OptionSet |
| This class holds a set of options that may appear on a command line or within an argument to a module Holds a static index to all OptionSets currently available in the program. More...
|
class | OptionValueType |
class | OptionValueType< std::string > |
class | OptionValueMap |
class | OptionValueType< std::map< std::string, std::string > > |
class | OptionValueType< std::tr1::unordered_map< std::string, std::string > > |
class | OptionValueList |
class | OptionValueType< std::vector< std::string > > |
class | OptionValueType< std::list< std::string > > |
class | OptionValueType< bool > |
class | OptionValue |
| A class that holds a particular option value, readable by other parts of the program as well as settable by those parts. More...
|
class | AbstractQueue |
class | CountResourceMonitor |
class | FairQueue |
| Fair Queue with one input queue of Messages per Key, backed by a TQueue. More...
|
class | LockFreeQueue |
| A queue of any type that has thread-safe push() and pop() functions. More...
|
struct | MethodSizeFunctor |
| Functor to retrieve the size of an object via a size() method. More...
|
struct | MethodSizeFunctor< ElementType * > |
class | Queue |
| Queue with maximum bytes of storage. More...
|
class | SizedResourceMonitor |
class | SizedThreadSafeQueue |
| This class acts like a thread safe queue but it conservatively tracks a particular resource size of the list to avoid wasting too much memory Is an adapter on any type of thread safe queue including Lock Free queues. More...
|
class | ThreadSafeQueue |
| ThreadSafeQueue provides a queue interface whose operations -- push, pop, empty -- are thread-safe. More...
|
class | ThreadSafeQueueWithNotification |
| ThreadSafeQueueWithNotification is a ThreadSafeQueue that also allows the user to specify a notification callback which is invoked when an item is pushed on the queue, causing it to go from empty to non-empty (note that a notification is not (necessarily) generated for every single push). More...
|
class | Context |
| Base class for Contexts, provides basic infrastructure such as IOServices, IOStrands, Trace, and timing information. More...
|
class | Poller |
| Poller allows you to generate a callback periodically without having to inherit from the PollingService class. More...
|
class | PollerService |
| PollerService is a Poller which also inherits from Service. More...
|
class | PollingService |
| A service which needs to be polled periodically. More...
|
class | Service |
| A Service is simply something that runs during the main loop. More...
|
class | TimeProfiler |
| A simple class which helps to time profiling to determine what fraction of time each component of a loop is taking. More...
|
class | TimeSyncClient |
| TimeSyncClient communicates with a server for simple time synchronization. More...
|
class | TimeSyncServer |
| TimeSyncServer implements the server for a simple time synchronization protocol. More...
|
struct | Batch |
class | BatchedBuffer |
class | AggregateBoundingInfo |
| AggregateBoundingInfo represents the bounds information for a collection of objects in it's own coordinate frame. More...
|
class | Any |
class | Array |
class | SizedAtomicValue |
class | AtomicValue |
class | BoundingBox |
class | BoundingSphere |
class | CircularBuffer |
| A circular buffer. More...
|
class | DynamicLibrary |
| DynamicLibrary represents a dynamically loadable module. More...
|
class | EWA |
| EWA maintains an exponentially weighted average. More...
|
class | ExtrapolatorBase |
class | Extrapolator |
class | TimedWeightedExtrapolatorBase |
class | TimedWeightedExtrapolator |
class | FactoryMissingConstructorException |
class | FactoryImpl |
class | Factory |
class | Factory1 |
class | Factory2 |
class | Factory3 |
class | Factory4 |
class | Factory5 |
class | Factory6 |
class | FactoryWithOptionsImpl |
class | FactoryWithOptions |
class | FactoryWithOptions1 |
class | FactoryWithOptions2 |
class | FactoryWithOptions3 |
class | FactoryWithOptions4 |
class | FactoryWithOptions5 |
class | FactoryWithOptions6 |
class | InstanceMethodNotReentrant |
| A utility class that lets you specify that a method isn't reentrant and validate in debug mode that you're not calling it recursively. More...
|
class | Provider |
| This class gives listeners an interface to register themselves and a mechanism to notify listeners Users of this class should remember to notify new listeners. More...
|
class | Liveness |
| Liveness makes it simple to track whether an object is still alive when using asynchronous callbacks. More...
|
class | Location |
class | COLUMNS |
class | ROWS |
class | Matrix3x3 |
class | Matrix4x4 |
class | MD5 |
class | DataReference |
class | MotionPath |
| Base class for MotionPaths. More...
|
class | MotionQuaternion |
class | TimedMotionQuaternion |
class | MotionVector |
class | TimedMotionVector |
class | Noncopyable |
class | Nullable |
class | ObjectReference |
| A reference to an object in a space. More...
|
class | Plugin |
| Plugin provides loading of plugins to allow for extension of the system. More...
|
class | PluginManager |
| PluginManager handles loading and unloading plugins, directory searching, and reference counts. More...
|
class | IPresencePropertiesRead |
| Read-only interface for PresenceProperties. More...
|
class | PresenceProperties |
| Stores the basic properties provided for objects, i.e. More...
|
class | SequencedPresenceProperties |
| Stores the basic properties for objects, i.e. More...
|
class | Quaternion |
class | RegionWeightCalculator |
class | RegionWeightCalculatorFactory |
class | SelfWeakPtr |
class | SerializationCheck |
| Verifies that code blocks you expect to be handled in a serialized fashion (i.e. More...
|
class | SHA256 |
class | SHA256Context |
| Class to allow creating a shasum from sparse data and other types. More...
|
class | SimpleExtrapolatorBase |
| SimpleExtrapolator classes, which always give the most accurate information available, at the cost of possibly being discontinuous. More...
|
class | SimpleExtrapolator |
class | AutoSingleton |
class | SolidAngle |
class | SpaceID |
| A reference to an object in a space. More...
|
class | SpaceObjectReference |
| A reference to an object in a space. More...
|
class | TemporalValueBase |
class | TemporalValue |
class | Thread |
| Thread is a thin wrapper around boost::thread which handles common thread initialization processes. More...
|
class | Time |
class | Timer |
class | TotallyOrdered |
| A base class for totally-ordered classes of objects. More...
|
class | Transform |
class | UniqueID16 |
| Generates unique IDs of 16-bits. More...
|
class | UniqueID32 |
| Generates unique IDs of 32-bits. More...
|
class | UniqueID64 |
| Generates unique IDs of 64-bits. More...
|
class | UUID |
class | OptionValueType< UUID > |
class | Vector2 |
class | Vector3 |
class | Vector4 |
class | VInt |
class | HttpServerIDMap |
| A ServerIDMap which looks up servers with Http requests. More...
|
class | LocalServerIDMap |
| A LocalServerIDMap implements the ServerIDMap interface for single-server setups: it only provides a single external server (frequently localhost and a port), and no internal addresses since there is no inter-space-server communication. More...
|
class | TabularServerIDMap |
class | VariableLength |
class | SqrIntegral |
class | simple_string |
class | OptionRegistration |
struct | TimerImpl |
class | AnyModelsSystem |
| AnyModelsSystem is an implementation of ModelsSystem which uses all other available implementations to handle as wide a variety of meshes as possible. More...
|
struct | LightInfo |
class | ModelsSystem |
| An interface for a class that is responsible for data model objects. More...
|
class | ModelsSystemFactory |
| Class to create models subsystems. More...
|
class | BillboardSystem |
class | MaterialExporter |
class | EffectExporter |
class | GeometryExporter |
class | LightExporter |
class | NodeExporter |
class | VisualSceneExporter |
class | ControllerExporter |
class | ImageExporter |
struct | point |
class | PlyModelSystem |
| Implementation of ModelsSystem that loads and saves PLY files. More...
|
class | OverlayPosition |
| Describes the position of a viewport-overlay in relative/absolute metrics. More...
|
class | AssetDownloadTask |
| An AssetDownloadTask manages the full download of an asset, including dependencies. More...
|
class | ConnectionEventListener |
| ConnectionEventListener listens for events relating to object host connections. More...
|
class | HostedObject |
class | ObjectFactory |
| ObjectFactories create objects and connect them to a space. More...
|
class | ObjectFactoryFactory |
| ObjectFactoryFactory creates ObjectFactories. More...
|
class | ObjectHost |
class | ObjectHostContext |
class | ObjectNodeSessionListener |
| Listener for object sessions with individual space servers. More...
|
class | ObjectScript |
| Script running in a plugin. More...
|
class | ObjectScriptManager |
| Script factory -- generally have one per shared dynamic library. More...
|
class | ObjectScriptManagerFactory |
| Class to create graphics subsystems. FIXME: should this load a dll when a named factory is not found. More...
|
class | OHSpaceTimeSynced |
| Implementation of TimeSynced that uses an ObjectHost for the sync. More...
|
class | PerPresenceData |
class | QueueRouterElement |
| A queue router element which buffers packets. More...
|
class | DownstreamElementBase |
| Base class for elements that accept input. More...
|
class | DownstreamElementFixed |
| Base class for downstream elements with a fixed number of input ports. More...
|
class | DownstreamElement |
| Base class for downstream elements, using a default implementation for port lookups. More...
|
class | UpstreamElementBase |
| Base class for elements that generate output. More...
|
class | UpstreamElementFixed |
| Base class for upstream elements with a fixed number of input ports. More...
|
class | UpstreamElement |
| Base class for downstream elements, using a default implementation for port lookups. More...
|
class | RouterElement |
| Convenience base class for router elements that handle input and output. More...
|
class | SessionManager |
| SessionManager provides most of the session management functionality for object hosts. More...
|
class | Simulation |
class | SimulationFactory |
struct | SpaceNodeConnection |
class | SpaceNodeSessionListener |
class | SpaceNodeSessionManager |
| Small class that acts as a Provider for SpaceNodeSessionListeners, but just forwards events from the real provider (allowing us to provide the SpaceNodeSessionManager before the real provider is created). More...
|
class | TimeSteppedSimulation |
class | OHTrace |
class | CassandraObjectFactory |
| CassandraObjectFactory generates objects from an input Cassandra file. More...
|
class | CSVObjectFactory |
| CSVObjectFactory generates objects from an input CSV file. More...
|
class | EnvironmentSimulation |
| Client for the Environment SpaceModule. More...
|
class | SQLiteObjectFactory |
| SQLiteObjectFactory generates objects from an input SQLite file. More...
|
class | Invokable |
class | MeshListener |
class | PositionListener |
class | ProxyCreationListener |
class | ProxyManager |
| An interface for a class that keeps track of proxy object references. More...
|
class | ProxyObjectListener |
| Interface to listen for the destruction of a ProxyObject so one can discard any shared references to it. More...
|
class | ProxyObject |
| This class represents a generic object on a remote server. More...
|
class | SessionEventListener |
| SessionEventListener listens for session events -- connections and disconnections -- for objects. More...
|
class | VWObject |
| VWObject is the basic interface that must be provided by virtual world objects. More...
|
class | AggregateManager |
class | Authenticator |
class | AuthenticatorFactory |
class | CoordinateSegmentation |
| Handles the segmentation of the space into regions handled by servers. More...
|
struct | ServerLoadInfo |
class | LoadMonitor |
class | LocationServiceListener |
| Interface for objects that need to listen for location updates. More...
|
class | LocationUpdatePolicy |
| LocationUpdatePolicy controls when updates are sent to subscribers. More...
|
class | LocationUpdatePolicyFactory |
class | LocationService |
| Interface for location services. More...
|
class | LocationServiceFactory |
class | MigrationDataClient |
| MigrationDataClients produce and accept chunks of data during migration. More...
|
class | ObjectHostConnectionID |
| Unique identifier for an object host connected to this space server. More...
|
class | ObjectHostConnection |
class | ObjectHostConnectionManager |
| ObjectHostConnectionManager handles the networking aspects of interacting with object hosts. More...
|
class | ObjectHostSession |
class | ObjectHostSessionListener |
class | ObjectHostSessionManager |
| Small class that acts as a Provider for ObjectHostSessionListeners, but just forwards events from the real provider (allowing us to provide the ObjectHostSessionManager before the real provider is created). More...
|
class | OSegEntry |
class | OSegLookupListener |
class | OSegWriteListener |
| Listener interface for OSeg write events. More...
|
class | ObjectSegmentation |
class | OSegFactory |
class | ObjectSession |
| State associated with an Object's session with the space. More...
|
class | ObjectSessionListener |
class | ObjectSessionManager |
class | OSegCache |
struct | OSegLookupTraceToken |
class | PintoServerQuerierListener |
| Listener interface for PintoServerQuerier. More...
|
class | PintoServerQuerier |
| PintoServerQuerier is an interface for discovering other space servers which must be queried for Pinto results. More...
|
class | PintoServerQuerierFactory |
class | Proximity |
class | ProximityFactory |
struct | SerializedBBox |
struct | SegmentedRegion |
struct | SerializedSegmentedRegion |
struct | SerializedBSPTree |
class | Message |
| Base class for messages that go over the network. More...
|
class | MessageRecipient |
| Interface for classes that need to receive messages. More...
|
class | ServerMessageDispatcher |
| Base class for a message dispatcher. More...
|
class | Router |
class | ServerMessageRouter |
| Base class for an object that can route messages to their destination. More...
|
class | SpaceContext |
| SpaceContext holds a number of useful items that are effectively global for each space node and used throughout the system -- ServerID, time information, MessageRouter (sending messages), MessageDispatcher (subscribe/unsubscribe from messages), and a Trace object. More...
|
class | SpaceModule |
| A SpaceModule is a generic service for a space. More...
|
class | SpaceModuleFactory |
class | SpaceNetworkConnectionListener |
| The SpaceNetworkConnectionListener interface receives events about connections to other space servers. More...
|
class | SpaceNetwork |
class | SpaceTrace |
class | AsyncCraqHybrid |
class | AsyncCraqScheduler |
class | AsyncConnectionGet |
class | AsyncCraqGet |
class | AsyncConnectionSet |
class | AsyncCraqSet |
class | AsyncConnection |
class | AsyncCraq |
struct | CraqObjectID |
struct | CraqOperationResult |
struct | CraqInitializeArgs |
struct | CraqDataSetGet |
class | CraqEntry |
struct | TransLookup |
class | CraqObjectSegmentation |
class | Environment |
| Environment is a SpaceModule which provides a simple service for maintaining shared, global state. More...
|
class | LocalObjectSegmentation |
class | LocalPintoServerQuerier |
| LocalPintoServerQuerier is a dummy implementation of PintoServerQuerier for single server setups. More...
|
class | MasterPintoManualServerQuerier |
| Implementation of client for centralized server for space server discovery, using manual tree traversal and replication. More...
|
class | MasterPintoServerQuerier |
| Implementation of client for centralized server for space server discovery, using aggregated solid angle queries. More...
|
class | MasterPintoServerQuerierBase |
| MasterPintoServerQuerierBase uses a single, centralized master Pinto query server to discover which other space servers must be queried. More...
|
class | NullAuthenticator |
class | btKinematicClosestNotMeRayResultCallback |
class | btKinematicClosestNotMeConvexResultCallback |
class | BulletCharacterController |
| BulletCharacterController is an object that supports a sliding motion in a world. More...
|
class | BulletCharacterObject |
| Implementation of BulletObject for characters. More...
|
class | BulletObject |
| Base class for simulated objects in bullet. More...
|
class | BulletPhysicsService |
| Standard location service, which functions entirely based on location updates from objects and other spaces servers. More...
|
class | SirikataMotionState |
class | BulletRigidBodyObject |
| Implementation of BulletObject covering most types of rigid bodies -- static, dynamic, and linearly/vertically constrained. More...
|
struct | LocationInfo |
class | CBRLocationServiceCache |
class | LibproxManualProximity |
| Implementation of Proximity using manual traversal of the object tree. More...
|
class | LibproxProximity |
class | LibproxProximityBase |
| Base class for Libprox-based Proximity implementations, providing a bit of utility code that gets reused across different implementations. More...
|
class | ManualReplicatedRequestManager |
| ManualReplicatedRequestManager tracks requests to adjust cuts and tries to make sure they get applied. More...
|
class | RedisObjectSegmentation |
class | SQLiteAuthenticator |
class | AlwaysLocationUpdatePolicy |
| A LocationUpdatePolicy which always sends a location update message to all subscribers on any position update. More...
|
class | StandardLocationService |
| Standard location service, which functions entirely based on location updates from objects and other spaces servers. More...
|
class | SQLiteDB |
| Represents a SQLite database connection. More...
|
class | SQLite |
| Class to manage SQLite connections so they can be shared by multiple classes or objects. More...
|
class | CppohObjectHost |
class | Cache |
struct | CraqCacheRecordLRUOriginal |
class | CacheLRUOriginal |
struct | FCacheRecord |
class | CommunicationCache |
class | Complete_Cache |
class | FCache |
struct | Point |
struct | WorldBoundary |
struct | WorldDimensions |
class | CoordinateSegmentationClient |
| Distributed BSP-tree based implementation of CoordinateSegmentation. More...
|
class | CSFQODPFlowScheduler |
| CSFQODPFlowScheduler tracks all active flows and uses a CSFQ-style approach to enforce fairness over those flows. More...
|
class | FairServerMessageQueue |
class | FairServerMessageReceiver |
| FairServerMessageReceiver implements the ServerMessageReceiver interface using a FairQueue (without internal storage, using the SpaceNetwork layer as the queue storage) to fairly distribute receive bandwidth based on the specified weights. More...
|
class | ForwarderServerMessageRouter |
class | Forwarder |
class | ForwarderServiceQueue |
| Fairly distributes inter-space node bandwidth between services, e.g. More...
|
class | LocalForwarder |
| LocalForwarder maintains a map of objects that are directly connected to this space server. More...
|
class | MigrationMonitor |
| MigrationMonitor keeps track of objects that are currently on this server and determines when they have left the server, or more generally, when they should begin to migrate to another server. More...
|
class | NetworkQueueWrapper |
class | ObjectConnection |
| Represents a connection a space has to an object. More...
|
class | ODPFlowScheduler |
| An ODPFlowScheduler acts as a filter and queue for ODP messages for a single server. More...
|
class | OSegHasher |
class | OSegLookupQueue |
| OSegLookupQueue manages outstanding OSeg lookups. More...
|
class | RateEstimator |
| Exponential weighted average rate estimator. More...
|
class | SimpleRateEstimator |
| RateEstimator that holds its falloff parameter with it. More...
|
class | RegionODPFlowScheduler |
| RegionODPFlowScheduler doesn't collect any real statistics about ODP flows. More...
|
class | Server |
| Handles all the basic services provided for objects by a server, including routing and message delivery, proximity services, and object -> server mapping. More...
|
class | ServerMessageQueue |
class | ServerMessageReceiver |
| ServerMessageReceiver handles receiving ServerMessages from the Network. More...
|
class | TCPSpaceNetwork |
struct | LayoutChangeEntry |
class | UniformCoordinateSegmentation |
| Uniform grid implementation of CoordinateSegmentation. More...
|
class | CSegContext |
struct | SegmentationChangeListener |
struct | SocketContainer |
class | DistributedCoordinateSegmentation |
| Distributed kd-tree based implementation of CoordinateSegmentation. More...
|
struct | ServerAvailability |
class | LoadBalancer |
struct | WorldRegion |
class | WorldPopulationBSPTree |
| Read in world population data from a file and create a BSP tree. More...
|
class | ManualPintoManager |
| ManualPintoManager responds to queries from space servers for a top-level tree, representing the highest-level aggregates. More...
|
class | PintoContext |
class | PintoManager |
| PintoManager oversees space servers, tracking the regions they cover and their largest objects. More...
|
class | PintoManagerBase |
| PintoManagerBase is the base class for classes the answer queries looking for other servers that are relevant to object queries. More...
|
class | PintoManagerLocationServiceCache |
class | ProxSimulationTraits |
class | ServerProxSimulationTraits |
Typedefs |
typedef uint64 | UniqueMessageID |
typedef uint32 | ObjectMessagePort |
typedef uint32 | ProxIndexID |
typedef Matrix3x3< float32 > | Matrix3x3f |
typedef Matrix3x3< float64 > | Matrix3x3d |
typedef Matrix4x4< float32 > | Matrix4x4f |
typedef Matrix4x4< float64 > | Matrix4x4d |
typedef DataReference< const
void * > | MemoryReference |
typedef MotionVector< Vector3f > | MotionVector3f |
typedef MotionVector< Vector3d > | MotionVector3d |
typedef TimedMotionVector
< MotionVector3f > | TimedMotionVector3f |
typedef TimedMotionVector
< MotionVector3d > | TimedMotionVector3d |
typedef std::tr1::shared_ptr
< IPresencePropertiesRead > | IPresencePropertiesReadPtr |
typedef std::tr1::shared_ptr
< PresenceProperties > | PresencePropertiesPtr |
typedef std::tr1::shared_ptr
< SequencedPresenceProperties > | SequencedPresencePropertiesPtr |
typedef uint32 | MessagePort |
typedef Vector3f | Color |
typedef Vector4f | ColorAlpha |
typedef std::tr1::shared_ptr
< AssetDownloadTask > | AssetDownloadTaskPtr |
typedef
Sirikata::DataReference< const
char * > | JSArgument |
typedef std::vector< JSArgument > | JSArguments |
typedef JSArguments::const_iterator | JSIter |
typedef Provider
< ConnectionEventListener * > | ConnectionEventProvider |
typedef std::tr1::shared_ptr
< ProxyObject > | ProxyObjectPtr |
typedef std::tr1::weak_ptr
< HostedObject > | HostedObjectWPtr |
typedef std::tr1::shared_ptr
< HostedObject > | HostedObjectPtr |
typedef Provider
< ObjectNodeSessionListener * > | ObjectNodeSessionProvider |
typedef Provider
< SpaceNodeSessionListener * > | SpaceNodeSessionProvider |
typedef std::tr1::shared_ptr
< VWObject > | VWObjectPtr |
typedef std::tr1::weak_ptr
< VWObject > | VWObjectWPtr |
typedef std::tr1::weak_ptr
< ProxyObject > | ProxyObjectWPtr |
typedef std::tr1::shared_ptr
< ProxyManager > | ProxyManagerPtr |
typedef std::tr1::weak_ptr
< ProxyManager > | ProxyManagerWPtr |
typedef Provider
< ProxyCreationListener * > | ProxyCreationProvider |
typedef std::tr1::shared_ptr
< ProxyCreationProvider > | ProxyCreationProviderPtr |
typedef Provider
< PositionListener * > | PositionProvider |
typedef Provider
< ProxyObjectListener * > | ProxyObjectProvider |
typedef Provider< MeshListener * > | MeshProvider |
typedef Provider
< SessionEventListener * > | SessionEventProvider |
typedef std::tr1::shared_ptr
< SessionEventProvider > | SessionEventProviderPtr |
typedef struct
Sirikata::ServerLoadInfo | ServerLoadInfo |
typedef uint32 | ShortObjectHostConnectionID |
typedef std::tr1::shared_ptr
< ObjectHostSession > | ObjectHostSessionPtr |
typedef Sirikata::AtomicValue
< uint32 > | SeqNo |
typedef std::tr1::shared_ptr
< SeqNo > | SeqNoPtr |
typedef struct
Sirikata::SerializedBBox | SerializedBBox |
typedef struct
Sirikata::SegmentedRegion | SegmentedRegion |
typedef struct
Sirikata::SerializedSegmentedRegion | SerializedSegmentedRegion |
typedef struct
Sirikata::SerializedBSPTree | SerializedBSPTree |
typedef uint16 | ServerMessagePort |
typedef char | StreamCraqDataKeyQuery [STREAM_CRAQ_DATA_KEY_QUERY_SIZE] |
typedef char | StreamCraqDataSetQuery [STREAM_CRAQ_DATA_SET_SIZE] |
typedef char | CraqDataResponseBuffer [CRAQ_DATA_RESPONSE_SIZE] |
typedef char | CraqDataKey [CRAQ_DATA_KEY_SIZE] |
typedef char | CraqDataKeyQuery [CRAQ_DATA_KEY_QUERY_SIZE] |
typedef char | CraqDataValue [CRAQ_DATA_VALUE_SIZE] |
typedef char | CraqDataSetQuery [CRAQ_DATA_SET_SIZE] |
typedef char | CraqDataGetResp [CRAQ_DATA_GET_RESP_SIZE] |
typedef
Prox::LocationServiceCache
< ObjectProxSimulationTraits > | LocationServiceCache |
typedef std::tr1::shared_ptr
< SQLiteDB > | SQLiteDBPtr |
typedef std::tr1::weak_ptr
< SQLiteDB > | WeakSQLiteDBPtr |
typedef double(* | CompleteCacheScoreFunc )(const FCacheRecord *a) |
typedef double(* | CompleteCacheScoreFuncPrint )(const FCacheRecord *a, bool toPrint) |
typedef double(* | FCacheScoreFunc )(const FCacheRecord *a) |
typedef double(* | FCacheScoreFuncPrint )(const FCacheRecord *a, bool toPrint) |
typedef int64 | ObjID |
typedef int | BlockID |
typedef int64 | CacheTimeMS |
typedef boost::asio::ip::tcp | tcp |
typedef struct
Sirikata::SegmentationChangeListener | SegmentationChangeListener |
typedef boost::shared_ptr
< tcp::socket > | SocketPtr |
typedef struct
Sirikata::SocketContainer | SocketContainer |
typedef std::tr1::function
< void(std::map< ServerID,
SocketContainer >) > | ResponseCompletionFunction |
typedef boost::shared_ptr
< Sirikata::SizedThreadSafeQueue
< SocketContainer > > | SocketQueuePtr |
typedef struct
Sirikata::ServerAvailability | ServerAvailability |
typedef struct
Sirikata::WorldRegion | WorldRegion |
Enumerations |
enum | UnregisteredOptionBehavior { AllowUnregisteredOptions,
FailOnUnregisteredOptions
} |
enum | RelativePosition {
RP_LEFT,
RP_TOPLEFT,
RP_TOPCENTER,
RP_TOPRIGHT,
RP_RIGHT,
RP_BOTTOMRIGHT,
RP_BOTTOMCENTER,
RP_BOTTOMLEFT,
RP_CENTER
} |
| An enumeration of relative positions for OverlayPosition. More...
|
enum | { CRAQ_SERVER_SIZE = 10
} |
enum | bulletObjTreatment {
BULLET_OBJECT_TREATMENT_IGNORE,
BULLET_OBJECT_TREATMENT_STATIC,
BULLET_OBJECT_TREATMENT_DYNAMIC,
BULLET_OBJECT_TREATMENT_LINEAR_DYNAMIC,
BULLET_OBJECT_TREATMENT_VERTICAL_DYNAMIC,
BULLET_OBJECT_TREATMENT_CHARACTER
} |
enum | bulletObjCollisionMaskGroup { BULLET_OBJECT_COLLISION_GROUP_STATIC = 1,
BULLET_OBJECT_COLLISION_GROUP_DYNAMIC = 1 << 1,
BULLET_OBJECT_COLLISION_GROUP_CONSTRAINED = 1 << 2
} |
enum | bulletObjBBox { BULLET_OBJECT_BOUNDS_ENTIRE_OBJECT,
BULLET_OBJECT_BOUNDS_PER_TRIANGLE,
BULLET_OBJECT_BOUNDS_SPHERE
} |
enum | ObjType {
NullObjType,
OBJ_TYPE_STATIC,
OBJ_TYPE_MOBILE_RANDOM,
OBJ_TYPE_QUAKE_TRACE,
OBJ_TYPE_SL_TRACE
} |
Functions |
Sirikata::Network::Address
SIRIKATA_EXPORT | convertAddress4ToSirikata (const Address4 &addy) |
SIRIKATA_FUNCTION_EXPORT
std::ostream & | operator<< (std::ostream &os, const Address4 &addr) |
size_t | hash_value (const Address4 &addy) |
template<typename PBJMessageType > |
std::string | serializePBJMessage (const PBJMessageType &contents) |
template<typename PBJMessageType > |
bool | serializePBJMessage (std::string *payload, const PBJMessageType &contents) |
template<typename PBJMessageType , typename WireType > |
bool | parsePBJMessage (PBJMessageType *contents, const WireType &wire, uint32 offset=0, int32 length=-1) |
| Parse a PBJ message from the wire, starting at the given offset from the .
|
SIRIKATA_FUNCTION_EXPORT
Sirikata::Protocol::Object::ObjectMessage * | createObjectMessage (ServerID source_server, const SpaceObjectReference &sporef_src, ObjectMessagePort src_port, const UUID &dest, ObjectMessagePort dest_port, const std::string &payload) |
SIRIKATA_FUNCTION_EXPORT
Sirikata::Protocol::Object::ObjectMessage * | createObjectMessage (ServerID source_server, const UUID &src, ObjectMessagePort src_port, const UUID &dest, ObjectMessagePort dest_port, const std::string &payload) |
SIRIKATA_FUNCTION_EXPORT void | createObjectHostMessage (ObjectHostID source_server, const SpaceObjectReference &sporef_src, ObjectMessagePort src_port, const UUID &dest, ObjectMessagePort dest_port, const std::string &payload, ObjectMessage *result) |
SIRIKATA_FUNCTION_EXPORT void | createObjectHostMessage (ObjectHostID source_server, const UUID &src, ObjectMessagePort src_port, const UUID &dest, ObjectMessagePort dest_port, const std::string &payload, ObjectMessage *result) |
SIRIKATA_FUNCTION_EXPORT bool | printPBJMessageString (const std::string &msg) |
| Print out the contents of an encoded PBJ message.
|
SIRIKATA_FUNCTION_EXPORT bool | printPBJMessageArray (const Sirikata::Network::Chunk &msg) |
SIRIKATA_FUNCTION_EXPORT void | ReportVersion () |
| Report version information to the log.
|
SIRIKATA_FUNCTION_EXPORT void | InitOptions () |
SIRIKATA_FUNCTION_EXPORT void | ParseOptions (int argc, char **argv, UnregisteredOptionBehavior unreg=FailOnUnregisteredOptions) |
SIRIKATA_FUNCTION_EXPORT void | ParseOptionsFile (const String &fname, bool required=true, UnregisteredOptionBehavior unreg=FailOnUnregisteredOptions) |
SIRIKATA_FUNCTION_EXPORT void | ParseOptions (int argc, char **argv, const String &config_file_option, UnregisteredOptionBehavior unreg=FailOnUnregisteredOptions) |
| Parse command line options and config files, ensuring the command line arguments take priority but reading the config file from an option rather than hard coding it.
|
SIRIKATA_FUNCTION_EXPORT void | FakeParseOptions () |
SIRIKATA_FUNCTION_EXPORT void | FillMissingOptionDefaults () |
| Fills in default values, used after initial parsing to make sure we don't block overriding option values from a secondary source (e.g.
|
SIRIKATA_FUNCTION_EXPORT void | DaemonizeAndSetOutputs () |
| Daemonizes the process if requested and then sets up output, e.g.
|
SIRIKATA_FUNCTION_EXPORT void | DaemonCleanup () |
SIRIKATA_FUNCTION_EXPORT
OptionValue * | GetOption (const char *name) |
SIRIKATA_FUNCTION_EXPORT
OptionValue * | GetOption (const char *klass, const char *name) |
template<typename T > |
T | GetOptionValue (const char *name) |
template<typename T > |
T | GetOptionValue (const char *klass, const char *name) |
template<> |
SIRIKATA_FUNCTION_EXPORT String | GetOptionValue< String > (const char *name) |
template<> |
SIRIKATA_FUNCTION_EXPORT Vector3f | GetOptionValue< Vector3f > (const char *name) |
template<> |
SIRIKATA_FUNCTION_EXPORT
Vector3ui32 | GetOptionValue< Vector3ui32 > (const char *name) |
template<> |
SIRIKATA_FUNCTION_EXPORT
BoundingBox3f | GetOptionValue< BoundingBox3f > (const char *name) |
template<> |
SIRIKATA_FUNCTION_EXPORT
ObjectHostID | GetOptionValue< ObjectHostID > (const char *name) |
template<> |
SIRIKATA_FUNCTION_EXPORT
Task::DeltaTime | GetOptionValue< Task::DeltaTime > (const char *name) |
template<> |
SIRIKATA_FUNCTION_EXPORT uint32 | GetOptionValue< uint32 > (const char *name) |
template<> |
SIRIKATA_FUNCTION_EXPORT int32 | GetOptionValue< int32 > (const char *name) |
template<> |
SIRIKATA_FUNCTION_EXPORT uint64 | GetOptionValue< uint64 > (const char *name) |
template<> |
SIRIKATA_FUNCTION_EXPORT int64 | GetOptionValue< int64 > (const char *name) |
template<> |
SIRIKATA_FUNCTION_EXPORT bool | GetOptionValue< bool > (const char *name) |
SIRIKATA_FUNCTION_EXPORT String | GetPerServerString (const String &orig, const ServerID &sid) |
SIRIKATA_FUNCTION_EXPORT String | GetPerServerFile (const char *opt_name, const ServerID &sid) |
| Get an option which is a filename and modify it to be server specific.
|
SIRIKATA_FUNCTION_EXPORT String | GetPerServerFile (const char *opt_name, const ObjectHostID &ohid) |
template<typename SimulationTraits > |
Prox::QueryHandler
< SimulationTraits > * | QueryHandlerFactory (const String &type, const String &args, bool rebuilding=true) |
| Creates a Prox::QueryHandler of the specified type.
|
std::ostream & | operator<< (std::ostream &os, const AggregateBoundingInfo &rhs) |
template<class Node > |
bool | compare_and_swap (volatile Node *volatile *target, volatile Node *comperand, volatile Node *exchange) |
template<typename scalar > |
std::ostream & | operator<< (std::ostream &os, const BoundingBox< scalar > &rhs) |
template<typename scalar > |
std::istream & | operator>> (std::istream &is, BoundingBox< scalar > &rhs) |
template<typename scalar > |
std::ostream & | operator<< (std::ostream &os, const BoundingSphere< scalar > &rhs) |
SIRIKATA_EXPORT void | Sha1 (const void *data, const uint32 len, unsigned int(&result)[5]) |
std::ostream & | operator<< (std::ostream &os, const Location &loc) |
template<typename scalar > |
std::ostream & | operator<< (std::ostream &os, const Matrix3x3< scalar > &rhs) |
template<typename T , typename S > |
Vector3< T > | operator* (const Vector3< T > &vec, const Matrix3x3< S > &mat) |
template<typename T > |
Matrix3x3< T > | operator* (T other, const Matrix3x3< T > &mat) |
template<typename T > |
Matrix3x3< T > | operator/ (T other, const Matrix3x3< T > &mat) |
template<typename scalar > |
std::ostream & | operator<< (std::ostream &os, const Matrix4x4< scalar > &rhs) |
template<typename T , typename S > |
Vector4< T > | operator* (const Vector4< T > &vec, const Matrix4x4< S > &mat) |
template<typename T > |
Matrix4x4< T > | operator* (T other, const Matrix4x4< T > &mat) |
template<typename T > |
Matrix4x4< T > | operator/ (T other, const Matrix4x4< T > &mat) |
std::ostream & | operator<< (std::ostream &os, const ObjectReference &objRef) |
Quaternion | operator* (Quaternion::scalar s, const Quaternion &q) |
Quaternion | operator/ (Quaternion::scalar s, const Quaternion &q) |
float32 | randFloat () |
float32 | randFloat (float32 minval, float32 maxval) |
template<typename inttype > |
inttype | randInt (inttype minval, inttype maxval) |
SIRIKATA_FUNCTION_EXPORT
std::ostream & | operator<< (std::ostream &os, const Sirikata::SolidAngle &sa) |
std::ostream & | operator<< (std::ostream &os, const SpaceID &sor) |
std::ostream & | operator<< (std::ostream &os, const SpaceObjectReference &sor) |
std::ostream & | operator<< (std::ostream &os, const Transform &trans) |
SIRIKATA_FUNCTION_EXPORT
std::istream & | operator>> (std::istream &is, Sirikata::UUID &uuid) |
SIRIKATA_FUNCTION_EXPORT
std::ostream & | operator<< (std::ostream &os, const Sirikata::UUID &uuid) |
template<typename scalar > |
Vector2< scalar > | operator* (scalar lhs, const Vector2< scalar > &rhs) |
template<typename scalar > |
Vector2< scalar > | operator/ (scalar lhs, const Vector2< scalar > &rhs) |
template<typename scalar > |
std::ostream & | operator<< (std::ostream &os, const Vector2< scalar > &rhs) |
template<typename scalar > |
std::istream & | operator>> (std::istream &is, Vector2< scalar > &rhs) |
template<typename scalar > |
Vector3< scalar > | operator* (scalar lhs, const Vector3< scalar > &rhs) |
template<typename scalar > |
Vector3< scalar > | operator/ (scalar lhs, const Vector3< scalar > &rhs) |
template<typename scalar > |
std::ostream & | operator<< (std::ostream &os, const Vector3< scalar > &rhs) |
template<typename scalar > |
std::istream & | operator>> (std::istream &is, Vector3< scalar > &rhs) |
template<typename scalar > |
Vector4< scalar > | operator* (scalar lhs, const Vector4< scalar > &rhs) |
template<typename scalar > |
Vector4< scalar > | operator/ (scalar lhs, const Vector4< scalar > &rhs) |
template<typename scalar > |
std::ostream & | operator<< (std::ostream &os, const Vector4< scalar > &rhs) |
template<typename scalar > |
std::istream & | operator>> (std::istream &is, Vector4< scalar > &rhs) |
double | computeArea (const Vector3d &amin, const Vector3d &amax, const Vector3d &bmin, const Vector3d &bmax) |
double | computeConstant (const Vector3d &amin, const Vector3d &amax, const Vector3d &bmin, const Vector3d &bmax) |
double | integralExpFunction (double k, const Vector3d &xymin, const Vector3d &xymax, const Vector3d &uvmin, const Vector3d &uvmax) |
void | TimeSync_sync_thread (int ntp_ctl_pipes[], int ntp_data_pipes[], bool *synced, bool *done) |
template<typename T > |
T | GetOptionValueUnsafe (const char *name) |
void | validate (boost::any &v, const std::vector< String > &values, Sirikata::simple_string *target_type, int) |
| AUTO_SINGLETON_INSTANCE (HolderStash) |
| AUTO_SINGLETON_INSTANCE (ValueStash) |
std::ostream & | operator<< (std::ostream &stream, MD5 context) |
uint32 | uint32_lexical_cast (const String &rhs) |
std::ostream & | operator<< (std::ostream &os, const ObjectHostID &rhs) |
std::istream & | operator>> (std::istream &is, ObjectHostID &rhs) |
std::string | removeNonAlphaNumeric (std::string str) |
String | texfilename (String url) |
void | exportAsset (COLLADASW::StreamWriter *streamWriter, const Meshdata &meshdata) |
void | exportScene (COLLADASW::StreamWriter *streamWriter, const Meshdata &meshdata) |
int | meshdataToCollada (const Meshdata &meshdata, const std::string &fileName) |
void | InitFreeImage () |
bool | comp (int l, int r) |
PerPresenceData::LocField | operator| (PerPresenceData::LocField a, PerPresenceData::LocField b) |
PerPresenceData::LocField | operator|= (PerPresenceData::LocField &a, PerPresenceData::LocField b) |
PerPresenceData::LocField | operator& (PerPresenceData::LocField a, PerPresenceData::LocField b) |
template<typename T > |
T | safeLexicalCast (const String &orig, T default_val) |
template<typename T > |
T | safeLexicalCast (const String &orig) |
| CREATE_TRACE_DEF (OHTrace, prox, mLogObject, const Time &t, const UUID &receiver, const UUID &source, bool entered, const TimedMotionVector3f &loc) |
| CREATE_TRACE_DEF (OHTrace, objectConnected, mLogObject, const Time &t, const UUID &source, const ServerID &sid) |
| CREATE_TRACE_DEF (OHTrace, objectGenLoc, mLogObject, const Time &t, const UUID &source, const TimedMotionVector3f &loc, const BoundingSphere3f &bnds) |
| CREATE_TRACE_DEF (OHTrace, objectLoc, mLogObject, const Time &t, const UUID &receiver, const UUID &source, const TimedMotionVector3f &loc) |
| CREATE_TRACE_DEF (OHTrace, pingCreated, mLogPing, const Time &t, const UUID &sender, const Time &dst, const UUID &receiver, uint64 id, double distance, uint32 sz) |
| CREATE_TRACE_DEF (OHTrace, ping, mLogPing, const Time &t, const UUID &sender, const Time &dst, const UUID &receiver, uint64 id, double distance, uint64 uid, uint32 sz) |
| CREATE_TRACE_DEF (OHTrace, hitpoint, mLogPing, const Time &t, const UUID &sender, const Time &dst, const UUID &receiver, double sentHP, double recvHP, double distance, double srcRadius, double dstRadius, uint32 sz) |
void | printResponse (CraqOperationResult *res) |
void | basicWait (AsyncCraqGet *myReader, std::vector< CraqOperationResult * > &allGetResults, std::vector< CraqOperationResult * > &allTrackedResults) |
void | iteratedWait (int numWaits, AsyncCraqGet *myReader, std::vector< CraqOperationResult * > &allGetResults, std::vector< CraqOperationResult * > &allTrackedResults) |
void | craftQueries (std::vector< CraqDataSetGet * > &vect) |
void | runMultiUnLoadSpeed (int numTimesLoad) |
void | basicWaitMulti (AsyncCraqGet *myReader, std::vector< CraqOperationResult * > &allGetResults, std::vector< CraqOperationResult * > &allTrackedResults) |
void | iteratedWaitMulti (int numWaits, AsyncCraqGet *myReader, std::vector< CraqOperationResult * > &allGetResults, std::vector< CraqOperationResult * > &allTrackedResults) |
void | runMultiUnLoadSpeedMulti (int numTimesLoad) |
void | runLoad () |
void | runUnLoad () |
void | runMultiUnLoad (int numTimesLoad) |
void | basicWait (AsyncCraqSet *myReader, std::vector< CraqOperationResult * > &allGetResults, std::vector< CraqOperationResult * > &allTrackedResults) |
void | iteratedWait (int numWaits, AsyncCraqSet *myReader, std::vector< CraqOperationResult * > &allGetResults, std::vector< CraqOperationResult * > &allTrackedResults) |
void | decode12Base64 (unsigned char output[9], unsigned char input[12]) |
int | translateBase64 (unsigned char *destination, const unsigned char *source, int numSigBytes) |
void | encode9Base64 (unsigned char input[9], unsigned char result[12]) |
String | ToString (bulletObjTreatment treatment) |
String | ToString (bulletObjBBox bnds) |
void | InitAlwaysLocationUpdatePolicyOptions () |
bool | loadInfoComparator (const ServerLoadInfo sli1, const ServerLoadInfo sli2) |
| CREATE_TRACE_DEF (SpaceTrace, objectSegmentationCraqLookupRequest, mLogOSeg, const Time &t, const UUID &obj_id, const ServerID &sID_lookupTo) |
| CREATE_TRACE_DEF (SpaceTrace, objectSegmentationProcessedRequest, mLogOSeg, const Time &t, const UUID &obj_id, const ServerID &sID, const ServerID &sID_processor, uint32 dTime, uint32 objectsInQueue) |
| CREATE_TRACE_DEF (SpaceTrace, processOSegTrackedSetResults, mLogOSeg, const Time &t, const UUID &obj_id, const ServerID &sID_migratingTo, const Duration &dur) |
| CREATE_TRACE_DEF (SpaceTrace, processOSegShutdownEvents, mLogOSeg, const Time &t, const ServerID &sID, const int &num_lookups, const int &num_on_this_server, const int &num_cache_hits, const int &num_craq_lookups, const int &num_time_elapsed_cache_eviction, const int &num_migration_not_complete_yet) |
| CREATE_TRACE_DEF (SpaceTrace, osegCacheResponse, mLogOSeg, const Time &t, const ServerID &sID, const UUID &obj_id) |
| CREATE_TRACE_DEF (SpaceTrace, objectSegmentationLookupNotOnServerRequest, mLogOSeg, const Time &t, const UUID &obj_id, const ServerID &sID_lookerupper) |
| CREATE_TRACE_DEF (SpaceTrace, osegCumulativeResponse, mLogOSegCumulative, const Time &t, OSegLookupTraceToken *traceToken) |
| CREATE_TRACE_DEF (SpaceTrace, objectBeginMigrate, mLogMigration, const Time &t, const UUID &obj_id, const ServerID migrate_from, const ServerID migrate_to) |
| CREATE_TRACE_DEF (SpaceTrace, objectAcknowledgeMigrate, mLogMigration, const Time &t, const UUID &obj_id, const ServerID &acknowledge_from, const ServerID &acknowledge_to) |
| CREATE_TRACE_DEF (SpaceTrace, objectMigrationRoundTrip, mLogMigration, const Time &t, const UUID &obj_id, const ServerID &migrate_to, const ServerID &migrate_from, const Duration &round_trip) |
| CREATE_TRACE_DEF (SpaceTrace, serverDatagramQueued, mLogDatagram, const Time &t, const ServerID &dest, uint64 id, uint32 size) |
| CREATE_TRACE_DEF (SpaceTrace, serverDatagramSent, mLogDatagram, const Time &start_time, const Time &end_time, float weight, const ServerID &dest, uint64 id, uint32 size) |
| CREATE_TRACE_DEF (SpaceTrace, serverDatagramReceived, mLogDatagram, const Time &start_time, const Time &end_time, const ServerID &src, uint64 id, uint32 size) |
| CREATE_TRACE_DEF (SpaceTrace, serverLoc, mLogLocProx, const Time &t, const ServerID &sender, const ServerID &receiver, const UUID &obj, const TimedMotionVector3f &loc) |
| CREATE_TRACE_DEF (SpaceTrace, serverObjectEvent, mLogLocProx, const Time &t, const ServerID &source, const ServerID &dest, const UUID &obj, bool added, const TimedMotionVector3f &loc) |
| CREATE_TRACE_DEF (SpaceTrace, segmentationChanged, mLogCSeg, const Time &t, const BoundingBox3f &bbox, const ServerID &serverID) |
void | InitCPPOHOptions () |
double | commCacheScoreFunction (const FCacheRecord *a) |
double | commCacheScoreFunctionPrint (const FCacheRecord *a, bool toPrint) |
void | findMins (std::vector< FCacheRecord * > &vec, FCacheScoreFunc scoreFunc) |
float | findDistance (Point *a, Point *b) |
float | findDistance (const Point &a, Point *b) |
float | findDistance (const Point &a, const Point &b) |
float | findDistance (const Point &a, const Point &b, WorldDimensions *wd, bool secondTime=false) |
float | findDistance (const Point &a, Point *b, WorldDimensions *wd, bool secondTime=false) |
float | findDistanceSquared (const Point &a, const Point &b, WorldDimensions *wd, bool secondTime=false) |
float | findDistanceSquared (const Point &a, Point *b, WorldDimensions *wd, bool secondTime=false) |
float | findDistanceSquared (Point *a, Point *b) |
float | findDistanceSquared (const Point &a, Point *b) |
double | b_abval (double a) |
double | getUniform (double min, double max) |
double | getUniform () |
TimeMS | convertTimeToAge (const struct timeval &tv) |
double | mdifftime (const struct timeval &newest, const struct timeval &oldest) |
double | normalGaussianPDF (double val) |
float | findScalingAutoRange (float target, float meterRange, float(*fallOffFunction)(float radius, float scaling)) |
double | findScalingAutoRange (double target, double meterRange, double(*fallOffFunction)(double radius, double scaling)) |
double | mavg (double a, double b) |
float | mavg (float a, float b) |
float | findScaling (float target, float low, float high, float meterRange, float(*fallOffFunction)(float radius, float scaling)) |
double | findScaling (double target, double low, double high, double meterRange, double(*fallOffFunction)(double radius, double scaling)) |
template<typename T > |
T | clamp (T val, T minval, T maxval) |
void | memdump1 (uint8 *buffer, int len) |
void | InitSpaceOptions () |
bool | isPowerOfTwo (double n) |
String | sha1 (void *data, size_t len) |
void | InitCSegOptions () |
BoundingBox3f | intersect (const BoundingBox3f &b1, const BoundingBox3f &b2) |
bool | intersects (const BoundingBox3f &bbox1, const BoundingBox3f &bbox2) |
void | InitPintoOptions () |
Variables |
const COLLADASW::String | CSW_ELEMENT_LIBRARY_NODES = "library_nodes" |
bool | freeimage_initialized = false |
const int | STREAM_CRAQ_DATA_KEY_QUERY_SIZE = CRAQ_DATA_KEY_SIZE + CRAQ_DATA_PREFIX_SIZE + CRAQ_DATA_SUFFIX_SIZE + 1 |
const char | STREAM_CRAQ_TO_SET_SUFFIX [] = "YZ" |
const int | STREAM_CRAQ_DATA_SET_SIZE = CRAQ_DATA_SET_PREFIX_SIZE + CRAQ_DATA_KEY_SIZE + CRAQ_DATA_TO_SET_SIZE_SIZE + CRAQ_DATA_SET_END_LINE_SIZE + CRAQ_DATA_VALUE_SIZE + CRAQ_DATA_SET_END_LINE_SIZE +1 + 1 |
const char | STREAM_CRAQ_STORED_RESP [] = "STORED" |
const char | STREAM_CRAQ_VALUE_RESP [] = "VALUE" |
const char | STREAM_CRAQ_ERROR_RESP [] = "ERROR" |
const int | STREAM_CRAQ_NOT_FOUND_RESP_SIZE = 9 |
const int | STREAM_CRAQ_STORED_RESP_SIZE = 6 |
const int | STREAM_CRAQ_VALUE_RESP_SIZE = 5 |
const int | STREAM_CRAQ_ERROR_RESP_SIZE = 5 |
const char | STREAM_DATA_KEY_SUFFIX = 'Z' |
const int | STREAM_SIZE_SIZE_TAG_GET_RESPONSE = 2 |
const int | STREAM_CRAQ_NUM_CONNECTIONS_SET = 30 |
const int | STREAM_CRAQ_NUM_CONNECTIONS_GET = 50 |
const int | STREAM_ASYNC_GET_TIMEOUT_MILLISECONDS = 400000 |
const int | STREAM_ASYNC_SET_TIMEOUT_MILLISECONDS = 400000 |
const char | STREAM_CRAQ_READ_RESULT_UNTIL_REGEX [] = "YY\r\n" |
const char | STREAM_CRAQ_READ_ERROR_RESULT_UNTIL_REGEX [] = "ERROR\r\n" |
const int | MAX_GET_PREV_READ_FRAG_SIZE = 200 |
const int | CUT_GET_PREV_READ_FRAG = 100 |
const int | MAX_SET_PREV_READ_FRAG_SIZE = 200 |
const int | CUT_SET_PREV_READ_FRAG = 100 |
const int | CRAQ_DATA_RESPONSE_SIZE = 70 |
const int | CRAQ_DATA_KEY_SIZE = 34 |
const char | CRAQ_DATA_KEY_QUERY_PREFIX [] = "get " |
const char | CRAQ_DATA_KEY_QUERY_SUFFIX [] = "\r\n" |
const int | CRAQ_DATA_PREFIX_SIZE = 4 |
const int | CRAQ_DATA_SUFFIX_SIZE = 2 |
const int | CRAQ_DATA_KEY_QUERY_SIZE = CRAQ_DATA_KEY_SIZE + CRAQ_DATA_PREFIX_SIZE + CRAQ_DATA_SUFFIX_SIZE |
const char | CRAQ_DATA_SET_PREFIX [] = "set " |
const char | CRAQ_DATA_SET_END_LINE [] = "\r\n" |
const int | CRAQ_DATA_SET_PREFIX_SIZE = 4 |
const int | CRAQ_DATA_SET_END_LINE_SIZE = 2 |
const char | CRAQ_DATA_TO_SET_SIZE [] = " 12" |
const int | CRAQ_DATA_TO_SET_SIZE_SIZE = 3 |
const int | CRAQ_TO_SET_SUFFIX_SIZE = 2 |
const char | CRAQ_TO_SET_SUFFIX [] = "ND" |
const int | CRAQ_DATA_VALUE_SIZE = 12 |
const char | CRAQ_GET_RESP [] = "VALUE12" |
const int | CRAQ_GET_RESP_SIZE = 7 |
const int | CRAQ_DATA_SET_SIZE = CRAQ_DATA_SET_PREFIX_SIZE + CRAQ_DATA_KEY_SIZE + CRAQ_DATA_TO_SET_SIZE_SIZE + CRAQ_DATA_SET_END_LINE_SIZE + CRAQ_DATA_VALUE_SIZE + CRAQ_DATA_SET_END_LINE_SIZE +1 |
const char | CRAQ_NOT_FOUND_RESP [] = "NOT_FOUND" |
const int | CRAQ_DATA_GET_RESP_SIZE = 52 |
const int | CRAQ_NUM_CONNECTIONS = 40 |
bool | didthiswork = craqSerializationUnitTest() |
const int | TIMEVAL_SECOND_TO_US = 1000000 |
Note: All the classes provided in this file are thin wrappers around the corresponding classes in ASIO.
Implementation Notes ====================.
LockFreeQueue.hpp.
These are provided because ASIO has problems allocating these objects from different threads on some platforms.
Data Layout ----------- See http://wiki.apache.org/cassandra/DataModel for an explanation of the Cassandra data model. http://arin.me/blog/wtf-is-a-supercolumn-cassandra-data-model may be helpful too. In short, Cassandra is a multidimensional map (each ... means a set of these elements are maintained):
Keyspace { Super Column Family { Row { Super Column { Column (each column is key -> value pair w/ timestamp) ... Column } // Super Column ... Super Column {} } // Row ... Row {} } // Super Column Family ... Super Column Family {} } // Keyspace ... Keyspace {}
We map to this model as follows: * A keyspace is shared with other Sirikata storage - 'sirikata' by default. * A Super Column Family isolates Cassandra Storage - 'persistence' by default. * Buckets (i.e. HostedObjects) are each a Row in the persistence Super Column Family * Timestamps are each a Super Column. * Individual key -> value pairs are each a Column within the timestamps Super Column. This means you can think of Cassandra as one giant, 5-dimensional map and we use it as: Cassandra['sirikata']['persistence'][bucket][timestamp][key] = value; |--------fixed by settings---------| |-----------get per object storage---------| |-------get active timestamp storage for object-------|
You can see this structure when you use cassandra-cli to explore the data: > cassandra-cli >> connect localhost/9160; >> use sirikata; # Use 'sirikata' keyspace. # Change a few settings that force display to strings, which assumes you're # using utf8 keys >> assume persistence keys as utf8; # Bucket (row) names >> assume persistence comparator as utf8; # Timestamp (super column) names >> assume persistence sub_comparator as utf8; # Key (column) names # List 2 rows from persistence >> list persistence limit 2; ------------------- RowKey: b10c1c63686e6b050000020002000001 => (super_column=current, (column=foo, value=120608c0af271005120608808, timestamp=1329197745156495) (column=bar, value=c0af271005120608808, timestamp=1329197738171366)) ------------------- RowKey: b10c1c63686e6b050000020002000001 => (super_column=current, (column=foo, value=120608c0af271005120608808, timestamp=1329197745156495) (column=bar, value=c0af271005120608808, timestamp=1329197738171366))
You should be aware that libcassandra, for some reason, doesn't use the natural order, and sometimes changes the order. For example, in this class, we're already bound to keyspace 'sirikata', and a call for a batch read looks like:
*rs = db->db()->getColumnsValues(bucket.rawHexData(), CF_NAME, timestamp, *readKeys); // (row key) (s-column family) (super column) (columns) Note how the row inexplicably comes first. In other cases, e.g. batchTuples for batch operations, we have: batchTuple tuple=batchTuple(CF_NAME, bucket.rawHexData(), timestamp, *readColumns, *eraseColumns); which follows the sensible order (we have two final sets of columns, for read and erase, but the order of everything makes sense). Since all the keys are strings, you have to be careful to get the order correct.
Locking ----------- We need to leasing mechanism, but Cassandra doesn't give us a lot to work with. We se a wait-chaining algorithm:
http://media.fightmymonster.com/Shared/docs/Wait%20Chain%20Algorithm.pdf
The basic idea is to use TTL keys to register interest, then look for others interested and order priority based on who observes other's registrations.
Since we just do leasing, we don't need any real transaction support in Cassandra. We keep locks in a separate row (i.e. each bucket has a row bucket and a row bucket-lease) to avoid naming collisions.
Note that locks are *on the entire bucket* and the location of locks reflects that: Cassandra['sirikata']['persistence'][bucket_lease][key] = value; We don't have a [timestamp] super column, we only have rows and columns. We don't use these for leases since there is no indication from the system when an object is removed *which* timestamps are disappearing with it, so we would have to scan through all super columns looking for locks to release. Each key in this case maps to a single client that wants to grab a lease.