Sirikata
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
Sirikata Namespace Reference

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< float64Matrix3x3d
typedef Matrix4x4< float32 > Matrix4x4f
typedef Matrix4x4< float64Matrix4x4d
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< JSArgumentJSArguments
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 >
GetOptionValue (const char *name)
template<typename 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 >
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 >
safeLexicalCast (const String &orig, T default_val)
template<typename 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 >
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

Detailed Description

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.


Typedef Documentation

typedef std::tr1::shared_ptr<AssetDownloadTask> Sirikata::AssetDownloadTaskPtr
typedef int Sirikata::BlockID
typedef int64 Sirikata::CacheTimeMS
typedef Vector3f Sirikata::Color
typedef Vector4f Sirikata::ColorAlpha
typedef double(* Sirikata::CompleteCacheScoreFunc)(const FCacheRecord *a)
typedef double(* Sirikata::CompleteCacheScoreFuncPrint)(const FCacheRecord *a, bool toPrint)
typedef double(* Sirikata::FCacheScoreFunc)(const FCacheRecord *a)
typedef double(* Sirikata::FCacheScoreFuncPrint)(const FCacheRecord *a, bool toPrint)
typedef std::tr1::shared_ptr< HostedObject > Sirikata::HostedObjectPtr
typedef std::tr1::weak_ptr< HostedObject > Sirikata::HostedObjectWPtr
typedef std::vector< JSArgument > Sirikata::JSArguments
typedef JSArguments::const_iterator Sirikata::JSIter
typedef Prox::LocationServiceCache< ServerProxSimulationTraits > Sirikata::LocationServiceCache
typedef Matrix3x3<float32> Sirikata::Matrix3x3f
typedef Matrix4x4<float32> Sirikata::Matrix4x4f
typedef uint32 Sirikata::MessagePort
typedef std::tr1::shared_ptr<ObjectHostSession> Sirikata::ObjectHostSessionPtr
typedef int64 Sirikata::ObjID
typedef std::tr1::shared_ptr<PresenceProperties> Sirikata::PresencePropertiesPtr
typedef uint32 Sirikata::ProxIndexID
typedef std::tr1::shared_ptr< ProxyManager > Sirikata::ProxyManagerPtr
typedef std::tr1::weak_ptr< ProxyManager > Sirikata::ProxyManagerWPtr
typedef std::tr1::shared_ptr< ProxyObject > Sirikata::ProxyObjectPtr
typedef std::tr1::weak_ptr<ProxyObject> Sirikata::ProxyObjectWPtr
typedef std::tr1::function< void(std::map<ServerID, SocketContainer>) > Sirikata::ResponseCompletionFunction
typedef std::tr1::shared_ptr<SeqNo> Sirikata::SeqNoPtr
typedef boost::shared_ptr<tcp::socket> Sirikata::SocketPtr
typedef std::tr1::shared_ptr<SQLiteDB> Sirikata::SQLiteDBPtr
typedef uint64 Sirikata::UniqueMessageID
typedef std::tr1::shared_ptr<VWObject> Sirikata::VWObjectPtr
typedef std::tr1::weak_ptr<VWObject> Sirikata::VWObjectWPtr
typedef std::tr1::weak_ptr<SQLiteDB> Sirikata::WeakSQLiteDBPtr

Enumeration Type Documentation

anonymous enum
Enumerator:
CRAQ_SERVER_SIZE 
Enumerator:
BULLET_OBJECT_BOUNDS_ENTIRE_OBJECT 
BULLET_OBJECT_BOUNDS_PER_TRIANGLE 
BULLET_OBJECT_BOUNDS_SPHERE 
Enumerator:
BULLET_OBJECT_COLLISION_GROUP_STATIC 
BULLET_OBJECT_COLLISION_GROUP_DYNAMIC 
BULLET_OBJECT_COLLISION_GROUP_CONSTRAINED 
Enumerator:
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 
Enumerator:
NullObjType 
OBJ_TYPE_STATIC 
OBJ_TYPE_MOBILE_RANDOM 
OBJ_TYPE_QUAKE_TRACE 
OBJ_TYPE_SL_TRACE 

An enumeration of relative positions for OverlayPosition.

Enumerator:
RP_LEFT 
RP_TOPLEFT 
RP_TOPCENTER 
RP_TOPRIGHT 
RP_RIGHT 
RP_BOTTOMRIGHT 
RP_BOTTOMCENTER 
RP_BOTTOMLEFT 
RP_CENTER 
Enumerator:
AllowUnregisteredOptions 
FailOnUnregisteredOptions 

Function Documentation

Sirikata::AUTO_SINGLETON_INSTANCE ( HolderStash  )
Sirikata::AUTO_SINGLETON_INSTANCE ( ValueStash  )
double Sirikata::b_abval ( double  a)
void Sirikata::basicWait ( AsyncCraqGet *  myReader,
std::vector< CraqOperationResult * > &  allGetResults,
std::vector< CraqOperationResult * > &  allTrackedResults 
)

Referenced by iteratedWait().

void Sirikata::basicWait ( AsyncCraqSet *  myReader,
std::vector< CraqOperationResult * > &  allGetResults,
std::vector< CraqOperationResult * > &  allTrackedResults 
)
void Sirikata::basicWaitMulti ( AsyncCraqGet *  myReader,
std::vector< CraqOperationResult * > &  allGetResults,
std::vector< CraqOperationResult * > &  allTrackedResults 
)

Referenced by iteratedWaitMulti().

template<typename T >
T Sirikata::clamp ( val,
minval,
maxval 
)
double Sirikata::commCacheScoreFunction ( const FCacheRecord *  a)
double Sirikata::commCacheScoreFunctionPrint ( const FCacheRecord *  a,
bool  toPrint 
)
bool Sirikata::comp ( int  l,
int  r 
)
template<class Node >
bool Sirikata::compare_and_swap ( volatile Node *volatile *  target,
volatile Node *  comperand,
volatile Node *  exchange 
) [inline]
double Sirikata::computeArea ( const Vector3d &  amin,
const Vector3d &  amax,
const Vector3d &  bmin,
const Vector3d &  bmax 
)
double Sirikata::computeConstant ( const Vector3d &  amin,
const Vector3d &  amax,
const Vector3d &  bmin,
const Vector3d &  bmax 
)
Address Sirikata::convertAddress4ToSirikata ( const Address4 &  addy)
CacheTimeMS Sirikata::convertTimeToAge ( const struct timeval &  tv)

References TIMEVAL_SECOND_TO_US.

void Sirikata::craftQueries ( std::vector< CraqDataSetGet * > &  vect)
Sirikata::CREATE_TRACE_DEF ( OHTrace  ,
objectGenLoc  ,
mLogObject  ,
const Time &  t,
const UUID &  source,
const TimedMotionVector3f &  loc,
const BoundingSphere3f &  bnds 
)
Sirikata::CREATE_TRACE_DEF ( OHTrace  ,
objectLoc  ,
mLogObject  ,
const Time &  t,
const UUID &  receiver,
const UUID &  source,
const TimedMotionVector3f &  loc 
)

References ObjectLocationTag.

Sirikata::CREATE_TRACE_DEF ( OHTrace  ,
pingCreated  ,
mLogPing  ,
const Time &  t,
const UUID &  sender,
const Time &  dst,
const UUID &  receiver,
uint64  id,
double  distance,
uint32  sz 
)

References ObjectPingCreatedTag.

Sirikata::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 
)

References ObjectPingTag.

Sirikata::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 
)

References ObjectHitPointTag.

Sirikata::CREATE_TRACE_DEF ( OHTrace  ,
objectConnected  ,
mLogObject  ,
const Time &  t,
const UUID &  source,
const ServerID &  sid 
)

References ObjectConnectedTag.

Sirikata::CREATE_TRACE_DEF ( OHTrace  ,
prox  ,
mLogObject  ,
const Time &  t,
const UUID &  receiver,
const UUID &  source,
bool  entered,
const TimedMotionVector3f &  loc 
)

References ProximityTag.

Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
objectSegmentationCraqLookupRequest  ,
mLogOSeg  ,
const Time &  t,
const UUID &  obj_id,
const ServerID &  sID_lookupTo 
)
Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
objectSegmentationProcessedRequest  ,
mLogOSeg  ,
const Time &  t,
const UUID &  obj_id,
const ServerID &  sID,
const ServerID &  sID_processor,
uint32  dTime,
uint32  objectsInQueue 
)
Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
processOSegTrackedSetResults  ,
mLogOSeg  ,
const Time &  t,
const UUID &  obj_id,
const ServerID &  sID_migratingTo,
const Duration dur 
)
Sirikata::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 
)

References OSegShutdownEventTag.

Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
osegCacheResponse  ,
mLogOSeg  ,
const Time &  t,
const ServerID &  sID,
const UUID &  obj_id 
)

References OSegCacheResponseTag.

Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
objectSegmentationLookupNotOnServerRequest  ,
mLogOSeg  ,
const Time &  t,
const UUID &  obj_id,
const ServerID &  sID_lookerupper 
)
Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
osegCumulativeResponse  ,
mLogOSegCumulative  ,
const Time &  t,
OSegLookupTraceToken *  traceToken 
)
Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
objectBeginMigrate  ,
mLogMigration  ,
const Time &  t,
const UUID &  obj_id,
const ServerID  migrate_from,
const ServerID  migrate_to 
)

References MigrationBeginTag.

Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
objectAcknowledgeMigrate  ,
mLogMigration  ,
const Time &  t,
const UUID &  obj_id,
const ServerID &  acknowledge_from,
const ServerID &  acknowledge_to 
)

References MigrationAckTag.

Sirikata::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 
)

References MigrationRoundTripTag.

Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
serverDatagramQueued  ,
mLogDatagram  ,
const Time &  t,
const ServerID &  dest,
uint64  id,
uint32  size 
)
Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
serverDatagramSent  ,
mLogDatagram  ,
const Time &  start_time,
const Time &  end_time,
float  weight,
const ServerID &  dest,
uint64  id,
uint32  size 
)

References ServerDatagramSentTag.

Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
serverDatagramReceived  ,
mLogDatagram  ,
const Time &  start_time,
const Time &  end_time,
const ServerID &  src,
uint64  id,
uint32  size 
)
Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
serverLoc  ,
mLogLocProx  ,
const Time &  t,
const ServerID &  sender,
const ServerID &  receiver,
const UUID &  obj,
const TimedMotionVector3f &  loc 
)

References ServerLocationTag.

Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
serverObjectEvent  ,
mLogLocProx  ,
const Time &  t,
const ServerID &  source,
const ServerID &  dest,
const UUID &  obj,
bool  added,
const TimedMotionVector3f &  loc 
)

References ServerObjectEventTag.

Sirikata::CREATE_TRACE_DEF ( SpaceTrace  ,
segmentationChanged  ,
mLogCSeg  ,
const Time &  t,
const BoundingBox3f &  bbox,
const ServerID &  serverID 
)

References SegmentationChangeTag.

void Sirikata::createObjectHostMessage ( ObjectHostID  source_server,
const SpaceObjectReference &  sporef_src,
ObjectMessagePort  src_port,
const UUID &  dest,
ObjectMessagePort  dest_port,
const std::string &  payload,
ObjectMessage *  result 
)
void Sirikata::createObjectHostMessage ( ObjectHostID  source_server,
const UUID &  src,
ObjectMessagePort  src_port,
const UUID &  dest,
ObjectMessagePort  dest_port,
const std::string &  payload,
ObjectMessage *  result 
)
Sirikata::Protocol::Object::ObjectMessage * Sirikata::createObjectMessage ( ServerID  source_server,
const UUID &  src,
ObjectMessagePort  src_port,
const UUID &  dest,
ObjectMessagePort  dest_port,
const std::string &  payload 
)
Sirikata::Protocol::Object::ObjectMessage * Sirikata::createObjectMessage ( ServerID  source_server,
const SpaceObjectReference &  sporef_src,
ObjectMessagePort  src_port,
const UUID &  dest,
ObjectMessagePort  dest_port,
const std::string &  payload 
)
void Sirikata::DaemonCleanup ( )

References GetOptionValue< String >(), and OPT_PID_FILE.

Referenced by main().

void Sirikata::DaemonizeAndSetOutputs ( )

Daemonizes the process if requested and then sets up output, e.g.

logfile, remaps std::err, generates pidfile, etc.

References Sirikata::Logging::error, GetOptionValue< bool >(), GetOptionValue< String >(), OPT_DAEMON, OPT_LOG_ALL_TO_FILE, OPT_LOG_FILE, OPT_PID_FILE, Sirikata::Logging::setLogStream(), Sirikata::Logging::setOutputFP(), SILOG, and Sirikata::Logging::SirikataLogStream.

Referenced by main().

void Sirikata::decode12Base64 ( unsigned char  output[9],
unsigned char  input[12] 
)
void Sirikata::encode9Base64 ( unsigned char  input[9],
unsigned char  result[12] 
)
void Sirikata::exportAsset ( COLLADASW::StreamWriter *  streamWriter,
const Meshdata &  meshdata 
)

Referenced by meshdataToCollada().

void Sirikata::exportScene ( COLLADASW::StreamWriter *  streamWriter,
const Meshdata &  meshdata 
)

Referenced by meshdataToCollada().

void Sirikata::FakeParseOptions ( )
void Sirikata::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.

config files) after parsing the first source (e.g. cmd line)

References Sirikata::OptionSet::fillMissingDefaults(), Sirikata::OptionSet::getOptions(), and SIRIKATA_OPTIONS_MODULE.

Referenced by main().

float Sirikata::findDistance ( Point *  a,
Point *  b 
)
float Sirikata::findDistance ( const Point &  a,
Point *  b 
)
float Sirikata::findDistance ( const Point &  a,
const Point &  b 
)
float Sirikata::findDistance ( const Point &  a,
const Point &  b,
WorldDimensions *  wd,
bool  secondTime = false 
)
float Sirikata::findDistance ( const Point &  a,
Point *  b,
WorldDimensions *  wd,
bool  secondTime = false 
)
float Sirikata::findDistanceSquared ( const Point &  a,
const Point &  b,
WorldDimensions *  wd,
bool  secondTime = false 
)
float Sirikata::findDistanceSquared ( const Point &  a,
Point *  b,
WorldDimensions *  wd,
bool  secondTime = false 
)
float Sirikata::findDistanceSquared ( Point *  a,
Point *  b 
)
float Sirikata::findDistanceSquared ( const Point &  a,
Point *  b 
)
void Sirikata::findMins ( std::vector< FCacheRecord * > &  vec,
FCacheScoreFunc  scoreFunc 
)
float Sirikata::findScaling ( float  target,
float  low,
float  high,
float  meterRange,
float(*)(float radius, float scaling)  fallOffFunction 
)
double Sirikata::findScaling ( double  target,
double  low,
double  high,
double  meterRange,
double(*)(double radius, double scaling)  fallOffFunction 
)
double Sirikata::findScalingAutoRange ( double  target,
double  meterRange,
double(*)(double radius, double scaling)  fallOffFunction 
)
float Sirikata::findScalingAutoRange ( float  target,
float  meterRange,
float(*)(float radius, float scaling)  fallOffFunction 
)
OptionValue * Sirikata::GetOption ( const char *  name)
OptionValue * Sirikata::GetOption ( const char *  klass,
const char *  name 
)
template<typename T >
T Sirikata::GetOptionValue ( const char *  name)
template<typename T >
T Sirikata::GetOptionValue ( const char *  klass,
const char *  name 
)
template<>
SIRIKATA_FUNCTION_EXPORT bool Sirikata::GetOptionValue< bool > ( const char *  name)
template<>
SIRIKATA_FUNCTION_EXPORT BoundingBox3f Sirikata::GetOptionValue< BoundingBox3f > ( const char *  name)

Referenced by main().

template<>
SIRIKATA_FUNCTION_EXPORT int32 Sirikata::GetOptionValue< int32 > ( const char *  name)
template<>
SIRIKATA_FUNCTION_EXPORT int64 Sirikata::GetOptionValue< int64 > ( const char *  name)
template<>
SIRIKATA_FUNCTION_EXPORT ObjectHostID Sirikata::GetOptionValue< ObjectHostID > ( const char *  name)

Referenced by main().

template<>
SIRIKATA_FUNCTION_EXPORT String Sirikata::GetOptionValue< String > ( const char *  name)
template<>
SIRIKATA_FUNCTION_EXPORT Task::DeltaTime Sirikata::GetOptionValue< Task::DeltaTime > ( const char *  name)
template<>
SIRIKATA_FUNCTION_EXPORT uint32 Sirikata::GetOptionValue< uint32 > ( const char *  name)
template<>
SIRIKATA_FUNCTION_EXPORT uint64 Sirikata::GetOptionValue< uint64 > ( const char *  name)
template<>
SIRIKATA_FUNCTION_EXPORT Vector3f Sirikata::GetOptionValue< Vector3f > ( const char *  name)
template<>
SIRIKATA_FUNCTION_EXPORT Vector3ui32 Sirikata::GetOptionValue< Vector3ui32 > ( const char *  name)
template<typename T >
T Sirikata::GetOptionValueUnsafe ( const char *  name)
String Sirikata::GetPerServerFile ( const char *  opt_name,
const ServerID &  sid 
)

Get an option which is a filename and modify it to be server specific.

References GetOptionValue< String >(), and GetPerServerString().

Referenced by GetPerServerFile(), and main().

String Sirikata::GetPerServerFile ( const char *  opt_name,
const ObjectHostID &  ohid 
)

References GetPerServerFile().

String Sirikata::GetPerServerString ( const String &  orig,
const ServerID &  sid 
)

Referenced by GetPerServerFile().

double Sirikata::getUniform ( )
double Sirikata::getUniform ( double  min,
double  max 
)
size_t Sirikata::hash_value ( const Address4 &  addy) [inline]
void Sirikata::InitAlwaysLocationUpdatePolicyOptions ( )
void Sirikata::InitCPPOHOptions ( )
void Sirikata::InitCSegOptions ( )
void Sirikata::InitFreeImage ( )
void Sirikata::InitOptions ( )
void Sirikata::InitPintoOptions ( )
void Sirikata::InitSpaceOptions ( )
double Sirikata::integralExpFunction ( double  k,
const Vector3d &  xymin,
const Vector3d &  xymax,
const Vector3d &  uvmin,
const Vector3d &  uvmax 
)
BoundingBox3f Sirikata::intersect ( const BoundingBox3f &  b1,
const BoundingBox3f &  b2 
)
bool Sirikata::intersects ( const BoundingBox3f &  bbox1,
const BoundingBox3f &  bbox2 
)
bool Sirikata::isPowerOfTwo ( double  n)
void Sirikata::iteratedWait ( int  numWaits,
AsyncCraqSet *  myReader,
std::vector< CraqOperationResult * > &  allGetResults,
std::vector< CraqOperationResult * > &  allTrackedResults 
)

References basicWait().

void Sirikata::iteratedWait ( int  numWaits,
AsyncCraqGet *  myReader,
std::vector< CraqOperationResult * > &  allGetResults,
std::vector< CraqOperationResult * > &  allTrackedResults 
)
void Sirikata::iteratedWaitMulti ( int  numWaits,
AsyncCraqGet *  myReader,
std::vector< CraqOperationResult * > &  allGetResults,
std::vector< CraqOperationResult * > &  allTrackedResults 
)

References basicWaitMulti().

Referenced by runMultiUnLoadSpeedMulti().

bool Sirikata::loadInfoComparator ( const ServerLoadInfo  sli1,
const ServerLoadInfo  sli2 
)
float Sirikata::mavg ( float  a,
float  b 
)
double Sirikata::mavg ( double  a,
double  b 
)

Referenced by findScaling().

double Sirikata::mdifftime ( const struct timeval &  newest,
const struct timeval &  oldest 
)
void Sirikata::memdump1 ( uint8 *  buffer,
int  len 
)
int Sirikata::meshdataToCollada ( const Meshdata &  meshdata,
const std::string &  fileName 
)
double Sirikata::normalGaussianPDF ( double  val)

References PI.

PerPresenceData::LocField Sirikata::operator& ( PerPresenceData::LocField  a,
PerPresenceData::LocField  b 
) [inline]
template<typename scalar >
Vector2<scalar> Sirikata::operator* ( scalar  lhs,
const Vector2< scalar > &  rhs 
) [inline]
template<typename scalar >
Vector3<scalar> Sirikata::operator* ( scalar  lhs,
const Vector3< scalar > &  rhs 
) [inline]
template<typename scalar >
Vector4<scalar> Sirikata::operator* ( scalar  lhs,
const Vector4< scalar > &  rhs 
) [inline]
template<typename T >
Matrix4x4<T> Sirikata::operator* ( other,
const Matrix4x4< T > &  mat 
)
template<typename T >
Matrix3x3<T> Sirikata::operator* ( other,
const Matrix3x3< T > &  mat 
)
template<typename T , typename S >
Vector4<T> Sirikata::operator* ( const Vector4< T > &  vec,
const Matrix4x4< S > &  mat 
)
template<typename T , typename S >
Vector3<T> Sirikata::operator* ( const Vector3< T > &  vec,
const Matrix3x3< S > &  mat 
)
Quaternion Sirikata::operator* ( Quaternion::scalar  s,
const Quaternion &  q 
) [inline]
template<typename T >
Matrix3x3<T> Sirikata::operator/ ( other,
const Matrix3x3< T > &  mat 
)
template<typename T >
Matrix4x4<T> Sirikata::operator/ ( other,
const Matrix4x4< T > &  mat 
)
template<typename scalar >
Vector3<scalar> Sirikata::operator/ ( scalar  lhs,
const Vector3< scalar > &  rhs 
) [inline]
template<typename scalar >
Vector4<scalar> Sirikata::operator/ ( scalar  lhs,
const Vector4< scalar > &  rhs 
) [inline]
template<typename scalar >
Vector2<scalar> Sirikata::operator/ ( scalar  lhs,
const Vector2< scalar > &  rhs 
) [inline]
Quaternion Sirikata::operator/ ( Quaternion::scalar  s,
const Quaternion &  q 
) [inline]
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const SpaceObjectReference &  sor 
) [inline]
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const Transform &  trans 
) [inline]
std::ostream & Sirikata::operator<< ( std::ostream &  os,
const Sirikata::UUID uuid 
)
std::ostream & Sirikata::operator<< ( std::ostream &  os,
const Address4 &  addr 
)
template<typename scalar >
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const Matrix4x4< scalar > &  rhs 
) [inline]
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const AggregateBoundingInfo &  rhs 
) [inline]
template<typename scalar >
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const BoundingBox< scalar > &  rhs 
) [inline]
template<typename scalar >
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const Vector4< scalar > &  rhs 
) [inline]
template<typename scalar >
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const BoundingSphere< scalar > &  rhs 
) [inline]
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const ObjectHostID &  rhs 
)
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const Location &  loc 
) [inline]
std::ostream& Sirikata::operator<< ( std::ostream &  stream,
MD5  context 
)
template<typename scalar >
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const Vector3< scalar > &  rhs 
) [inline]
template<typename scalar >
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const Vector2< scalar > &  rhs 
) [inline]
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const ObjectReference &  objRef 
) [inline]
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const SpaceID &  sor 
) [inline]
std::ostream & Sirikata::operator<< ( std::ostream &  os,
const Sirikata::SolidAngle sa 
)
template<typename scalar >
std::ostream& Sirikata::operator<< ( std::ostream &  os,
const Matrix3x3< scalar > &  rhs 
) [inline]
std::istream & Sirikata::operator>> ( std::istream &  is,
Sirikata::UUID uuid 
)
template<typename scalar >
std::istream& Sirikata::operator>> ( std::istream &  is,
Vector3< scalar > &  rhs 
) [inline]
template<typename scalar >
std::istream& Sirikata::operator>> ( std::istream &  is,
Vector4< scalar > &  rhs 
) [inline]
std::istream& Sirikata::operator>> ( std::istream &  is,
ObjectHostID &  rhs 
)
template<typename scalar >
std::istream& Sirikata::operator>> ( std::istream &  is,
Vector2< scalar > &  rhs 
) [inline]
template<typename scalar >
std::istream& Sirikata::operator>> ( std::istream &  is,
BoundingBox< scalar > &  rhs 
) [inline]
PerPresenceData::LocField Sirikata::operator| ( PerPresenceData::LocField  a,
PerPresenceData::LocField  b 
) [inline]
PerPresenceData::LocField Sirikata::operator|= ( PerPresenceData::LocField &  a,
PerPresenceData::LocField  b 
) [inline]
void Sirikata::ParseOptions ( int  argc,
char **  argv,
UnregisteredOptionBehavior  unreg = FailOnUnregisteredOptions 
)
void Sirikata::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.

References AllowUnregisteredOptions, Sirikata::OptionSet::getOptions(), GetOptionValue< String >(), Sirikata::OptionSet::parse(), Sirikata::OptionSet::parseFile(), and SIRIKATA_OPTIONS_MODULE.

void Sirikata::ParseOptionsFile ( const String &  fname,
bool  required = true,
UnregisteredOptionBehavior  unreg = FailOnUnregisteredOptions 
)
template<typename PBJMessageType , typename WireType >
bool Sirikata::parsePBJMessage ( PBJMessageType *  contents,
const WireType &  wire,
uint32  offset = 0,
int32  length = -1 
)
bool Sirikata::printPBJMessageArray ( const Sirikata::Network::Chunk &  msg)
bool Sirikata::printPBJMessageString ( const std::string &  msg)

Print out the contents of an encoded PBJ message.

This uses only the data in the message, so the components need to be mapped to the specific message type manually. However, it prints out full details, including if it is able to recurse and parse any submessages.

Referenced by printPBJMessageArray().

void Sirikata::printResponse ( CraqOperationResult *  res)
template<typename SimulationTraits >
Prox::QueryHandler<SimulationTraits>* Sirikata::QueryHandlerFactory ( const String &  type,
const String &  args,
bool  rebuilding = true 
)

Creates a Prox::QueryHandler of the specified type.

Parses the arguments specified and passes them to the query handler constructor.

References Sirikata::OptionSet::getOptions(), and Sirikata::OptionValue::unsafeAs().

float32 Sirikata::randFloat ( ) [inline]
float32 Sirikata::randFloat ( float32  minval,
float32  maxval 
) [inline]

References randFloat().

template<typename inttype >
inttype Sirikata::randInt ( inttype  minval,
inttype  maxval 
) [inline]

References randFloat().

Referenced by Sirikata::Path::GetTempFilename().

std::string Sirikata::removeNonAlphaNumeric ( std::string  str)
void Sirikata::ReportVersion ( )

Report version information to the log.

References GetOptionValue< bool >(), Sirikata::Logging::info, Sirikata::Timer::nowAsString(), and SILOG.

Referenced by main().

void Sirikata::runLoad ( )
void Sirikata::runMultiUnLoad ( int  numTimesLoad)
void Sirikata::runMultiUnLoadSpeed ( int  numTimesLoad)
void Sirikata::runMultiUnLoadSpeedMulti ( int  numTimesLoad)
void Sirikata::runUnLoad ( )
template<typename T >
T Sirikata::safeLexicalCast ( const String &  orig,
default_val 
)
template<typename T >
T Sirikata::safeLexicalCast ( const String &  orig)
template<typename PBJMessageType >
std::string Sirikata::serializePBJMessage ( const PBJMessageType &  contents)

Referenced by Sirikata::SST::Connection< EndPointType >::datagram(), Sirikata::LibproxProximity::generateMigrationData(), Sirikata::LibproxProximity::generateObjectQueryEvents(), Sirikata::LibproxProximity::generateServerQueryEvents(), Sirikata::Server::handleConnect(), Sirikata::TimeSyncServer::handleMessage(), Sirikata::Server::handleMigration(), Sirikata::Server::handleMigrationEvent(), Sirikata::Message::Message(), Sirikata::SessionManager::openConnectionStartMigration(), Sirikata::SessionManager::openConnectionStartSession(), Sirikata::TimeSyncClient::poll(), Sirikata::Server::processAlreadyMigrating(), Sirikata::PintoManager::queryHasEvents(), Sirikata::ManualPintoManager::queryHasEvents(), Sirikata::LibproxManualProximity::queryHasEvents(), Sirikata::ObjectSegmentation::queueMigAck(), Sirikata::Forwarder::routeObjectMessageToServer(), Sirikata::SST::Stream< EndPointType >::sendAckPacket(), Sirikata::Server::sendConnectError(), Sirikata::Server::sendConnectSuccess(), Sirikata::SessionManager::sendConnectSuccessAck(), Sirikata::SST::Stream< EndPointType >::sendDataPacket(), Sirikata::SessionManager::sendDisconnectMessage(), Sirikata::ObjectHostConnectionManager::sendHelper(), Sirikata::SST::Stream< EndPointType >::sendInitPacket(), Sirikata::LoadMonitor::sendLoadReadings(), Sirikata::ManualPintoManager::sendLocUpdate(), Sirikata::HostedObject::sendLocUpdateRequest(), Sirikata::LibproxProximity::sendQueryRequests(), Sirikata::MasterPintoServerQuerierBase::sendQueryUpdate(), Sirikata::LibproxManualProximity::sendReplicatedClientProxMessage(), Sirikata::OH::Manual::ServerQueryHandler::sendReplicatedClientProxMessage(), Sirikata::SST::Stream< EndPointType >::sendReplyPacket(), Sirikata::TCPSpaceNetwork::sendServerIntro(), Sirikata::SST::Connection< EndPointType >::sendSSTChannelPacket(), Sirikata::Message::serialize(), Sirikata::ObjectMessage::serialize(), Sirikata::AlwaysLocationUpdatePolicy::trySend(), Sirikata::MasterPintoServerQuerierBase::tryServerUpdate(), Sirikata::MasterPintoServerQuerier::updatePintoQuery(), Sirikata::OH::Simple::SimpleObjectQueryProcessor::updateQuery(), Sirikata::Forwarder::updateServerWeights(), Sirikata::CoordinateSegmentationClient::writeCSEGMessage(), and Sirikata::DistributedCoordinateSegmentation::writeCSEGMessage().

template<typename PBJMessageType >
bool Sirikata::serializePBJMessage ( std::string *  payload,
const PBJMessageType &  contents 
)
void Sirikata::Sha1 ( const void *  data,
const uint32  len,
unsigned int(&)  result[5] 
)
String Sirikata::sha1 ( void *  data,
size_t  len 
)

References Sha1().

Referenced by Sha1().

String Sirikata::texfilename ( String  url)
void Sirikata::TimeSync_sync_thread ( int  ntp_ctl_pipes[],
int  ntp_data_pipes[],
bool *  synced,
bool *  done 
)
String Sirikata::ToString ( bulletObjTreatment  treatment)
String Sirikata::ToString ( bulletObjBBox  bnds)
int Sirikata::translateBase64 ( unsigned char *  destination,
const unsigned char *  source,
int  numSigBytes 
)

Referenced by encode9Base64().

uint32 Sirikata::uint32_lexical_cast ( const String &  rhs)
void Sirikata::validate ( boost::any &  v,
const std::vector< String > &  values,
Sirikata::simple_string target_type,
int   
)

Variable Documentation

const char Sirikata::CRAQ_DATA_KEY_QUERY_PREFIX[] = "get "
const char Sirikata::CRAQ_DATA_KEY_QUERY_SUFFIX[] = "\r\n"
const char Sirikata::CRAQ_DATA_SET_END_LINE[] = "\r\n"
const char Sirikata::CRAQ_DATA_SET_PREFIX[] = "set "
const char Sirikata::CRAQ_DATA_TO_SET_SIZE[] = " 12"
const char Sirikata::CRAQ_GET_RESP[] = "VALUE12"
const char Sirikata::CRAQ_NOT_FOUND_RESP[] = "NOT_FOUND"
const char Sirikata::CRAQ_TO_SET_SUFFIX[] = "ND"
const COLLADASW::String Sirikata::CSW_ELEMENT_LIBRARY_NODES = "library_nodes"
bool Sirikata::didthiswork = craqSerializationUnitTest()

Referenced by InitFreeImage().

const char Sirikata::STREAM_CRAQ_ERROR_RESP[] = "ERROR"
const char Sirikata::STREAM_CRAQ_STORED_RESP[] = "STORED"
const char Sirikata::STREAM_CRAQ_VALUE_RESP[] = "VALUE"
const int Sirikata::TIMEVAL_SECOND_TO_US = 1000000

Referenced by convertTimeToAge().