Sirikata
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
Sirikata::SpaceNodeConnection Struct Reference

#include <SpaceNodeConnection.hpp>

Inheritance diagram for Sirikata::SpaceNodeConnection:
Collaboration diagram for Sirikata::SpaceNodeConnection:

List of all members.

Public Types

typedef OHDPSST::Stream OHSSTStream
typedef OHSSTStream::Ptr OHSSTStreamPtr
typedef OHDPSST::Endpoint OHSSTEndpoint
typedef OHDPSST::BaseDatagramLayer OHSSTBaseDatagramLayer
typedef
OHDPSST::BaseDatagramLayer::Ptr 
OHSSTBaseDatagramLayerPtr
typedef std::tr1::function
< void(SpaceNodeConnection *) 
GotSpaceConnectionCallback )
typedef std::tr1::function
< void(SpaceNodeConnection *) 
ReceiveCallback )
typedef std::tr1::function
< void(const
Network::Stream::ConnectionStatus,
const std::string &)> 
ConnectionEventCallback

Public Member Functions

 SpaceNodeConnection (ObjectHostContext *ctx, Network::IOStrand *ioStrand, TimeProfiler::Stage *handle_read_stage, OptionSet *streamOptions, const SpaceID &spaceid, ServerID sid, OHDP::Service *ohdp_service, ConnectionEventCallback ccb, ReceiveCallback rcb)
 ~SpaceNodeConnection ()
bool push (const ObjectMessage &msg)
ObjectMessagepull ()
bool empty ()
void shutdown ()
const SpaceIDspace () const
const ServerID & server () const
OHSSTStreamPtr stream () const
void connect (const Network::Address &addr)
void failConnection ()
bool connecting () const
void addCallback (GotSpaceConnectionCallback cb)
void invokeAndClearCallbacks (bool connected)

Private Types

typedef std::vector
< GotSpaceConnectionCallback
ConnectionCallbackList

Private Member Functions

void handleConnectionEvent (const Network::Stream::ConnectionStatus status, const std::string &reason)
void setupConnectionStream (const Network::Stream::ConnectionStatus status, const std::string &reason, uint8 retries)
void handleStreamConnected (const Network::Stream::ConnectionStatus status, const std::string &reason, int err, OHSSTStreamPtr strm, uint8 retries)
void handleRead (const Sirikata::Network::Chunk &chunk, const Sirikata::Network::Stream::PauseReceiveCallback &pause)

Private Attributes

ObjectHostContextmContext
TimeProfiler::StagemHandleReadStage
SpaceID mSpace
ServerID mServer
OHDP::ServicemOHDPService
Network::Streamsocket
Network::Address mAddr
ConnectionCallbackList mConnectCallbacks
bool mConnecting
QueueRouterElement< ObjectMessagereceive_queue
ConnectionEventCallback mConnectCB
ReceiveCallback mReceiveCB
OHSSTStreamPtr mOHSSTStream

Member Typedef Documentation

typedef std::tr1::function<void(const Network::Stream::ConnectionStatus, const std::string&)> Sirikata::SpaceNodeConnection::ConnectionEventCallback

Constructor & Destructor Documentation

Sirikata::SpaceNodeConnection::SpaceNodeConnection ( ObjectHostContext ctx,
Network::IOStrand ioStrand,
TimeProfiler::Stage handle_read_stage,
OptionSet streamOptions,
const SpaceID spaceid,
ServerID  sid,
OHDP::Service ohdp_service,
ConnectionEventCallback  ccb,
ReceiveCallback  rcb 
)
Sirikata::SpaceNodeConnection::~SpaceNodeConnection ( )

Member Function Documentation

void Sirikata::SpaceNodeConnection::addCallback ( GotSpaceConnectionCallback  cb) [inline]
void Sirikata::SpaceNodeConnection::connect ( const Network::Address addr)
bool Sirikata::SpaceNodeConnection::connecting ( ) const [inline]
bool Sirikata::SpaceNodeConnection::empty ( )
void Sirikata::SpaceNodeConnection::failConnection ( )
void Sirikata::SpaceNodeConnection::handleConnectionEvent ( const Network::Stream::ConnectionStatus  status,
const std::string &  reason 
) [private]
void Sirikata::SpaceNodeConnection::handleRead ( const Sirikata::Network::Chunk &  chunk,
const Sirikata::Network::Stream::PauseReceiveCallback pause 
) [private]

Referenced by connect().

void Sirikata::SpaceNodeConnection::handleStreamConnected ( const Network::Stream::ConnectionStatus  status,
const std::string &  reason,
int  err,
OHSSTStreamPtr  strm,
uint8  retries 
) [private]
void Sirikata::SpaceNodeConnection::invokeAndClearCallbacks ( bool  connected)
ObjectMessage * Sirikata::SpaceNodeConnection::pull ( )
bool Sirikata::SpaceNodeConnection::push ( const ObjectMessage msg)
const ServerID& Sirikata::SpaceNodeConnection::server ( ) const [inline]
void Sirikata::SpaceNodeConnection::setupConnectionStream ( const Network::Stream::ConnectionStatus  status,
const std::string &  reason,
uint8  retries 
) [private]
void Sirikata::SpaceNodeConnection::shutdown ( )
const SpaceID& Sirikata::SpaceNodeConnection::space ( ) const [inline]

Referenced by handleStreamConnected().

OHSSTStreamPtr Sirikata::SpaceNodeConnection::stream ( ) const [inline]

Member Data Documentation

Referenced by connect().

Referenced by invokeAndClearCallbacks().

Referenced by connect(), and setupConnectionStream().

Referenced by setupConnectionStream().

Referenced by handleStreamConnected().

Referenced by setupConnectionStream().

Referenced by setupConnectionStream().

Referenced by empty(), and pull().


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