Sirikata
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
Sirikata::AsyncConnectionSet Class Reference

#include <asyncConnectionSet.hpp>

Collaboration diagram for Sirikata::AsyncConnectionSet:

List of all members.

Classes

struct  IndividualQueryData

Public Types

enum  ConnectionState { READY, NEED_NEW_SOCKET, PROCESSING }

Public Member Functions

void initialize (Sirikata::Network::TCPSocket *socket, boost::asio::ip::tcp::resolver::iterator)
AsyncConnectionSet::ConnectionState ready ()
void setBound (const CraqObjectID &obj_dataToGet, const CraqEntry &dataToSetTo, const bool &track, const int &trackNum)
void set (const CraqDataKey &dataToSet, const CraqEntry &dataToSetTo, const bool &track, const int &trackNum)
 ~AsyncConnectionSet ()
 AsyncConnectionSet (SpaceContext *con, Network::IOStrand *str, Network::IOStrand *error_strand, Network::IOStrand *result_strand, AsyncCraqScheduler *master, CraqObjectSegmentation *oseg, const std::tr1::function< void()> &readySetChanged)
int numStillProcessing ()
void stop ()
void setProcessing ()
 sets the ready state to be in the processing mode, meaning work has been posted to its strand

Private Types

typedef std::multimap
< std::string,
IndividualQueryData * > 
MultiOutstandingQueries

Private Member Functions

void killSequence ()
void set_generic_read_result_handler ()
void set_generic_read_error_handler ()
bool processEntireResponse (std::string response)
void processStoredValue (std::string dataKey)
bool parseStoredValue (const std::string &response, std::string &dataKey)
bool checkStored (std::string &response)
bool checkError (std::string &response)
size_t smallestIndex (std::vector< size_t > sizeVec)
void clear_all_deadline_timers ()
void queryTimedOutCallbackSet (const boost::system::error_code &e, IndividualQueryData *iqd)
void connect_handler (const boost::system::error_code &error)
void generic_read_stored_not_found_error_handler (const boost::system::error_code &error, std::size_t bytes_transferred, boost::asio::streambuf *sBuff)
void set_generic_stored_not_found_error_handler ()
void read_handler_set (const boost::system::error_code &error, std::size_t bytes_transferred, boost::asio::streambuf *sBuff)
void write_some_handler_set (const boost::system::error_code &error, std::size_t bytes_transferred)

Private Attributes

Sirikata::Network::TCPSocketmSocket
MultiOutstandingQueries allOutstandingQueries
SpaceContextctx
Network::IOStrandmStrand
Network::IOStrandmErrorStrand
Network::IOStrandmResultsStrand
AsyncCraqSchedulermSchedulerMaster
CraqObjectSegmentationmOSeg
volatile ConnectionState mReady
std::string mPrevReadFrag
bool mReceivedStopRequest
std::tr1::function< void()> mReadyStateChangedCallback

Member Typedef Documentation

typedef std::multimap<std::string, IndividualQueryData*> Sirikata::AsyncConnectionSet::MultiOutstandingQueries [private]

Member Enumeration Documentation

Enumerator:
READY 
NEED_NEW_SOCKET 
PROCESSING 

Constructor & Destructor Documentation

Sirikata::AsyncConnectionSet::~AsyncConnectionSet ( )
Sirikata::AsyncConnectionSet::AsyncConnectionSet ( SpaceContext con,
Network::IOStrand str,
Network::IOStrand error_strand,
Network::IOStrand result_strand,
AsyncCraqScheduler master,
CraqObjectSegmentation oseg,
const std::tr1::function< void()> &  readySetChanged 
)

References mReady, and NEED_NEW_SOCKET.


Member Function Documentation

bool Sirikata::AsyncConnectionSet::checkError ( std::string &  response) [private]
bool Sirikata::AsyncConnectionSet::checkStored ( std::string &  response) [private]
void Sirikata::AsyncConnectionSet::clear_all_deadline_timers ( ) [private]

References allOutstandingQueries.

Referenced by stop().

void Sirikata::AsyncConnectionSet::connect_handler ( const boost::system::error_code &  error) [private]
void Sirikata::AsyncConnectionSet::generic_read_stored_not_found_error_handler ( const boost::system::error_code &  error,
std::size_t  bytes_transferred,
boost::asio::streambuf *  sBuff 
) [private]
void Sirikata::AsyncConnectionSet::initialize ( Sirikata::Network::TCPSocket socket,
boost::asio::ip::tcp::resolver::iterator  it 
)
void Sirikata::AsyncConnectionSet::killSequence ( ) [private]
int Sirikata::AsyncConnectionSet::numStillProcessing ( )

References allOutstandingQueries.

bool Sirikata::AsyncConnectionSet::parseStoredValue ( const std::string &  response,
std::string &  dataKey 
) [private]
bool Sirikata::AsyncConnectionSet::processEntireResponse ( std::string  response) [private]
void Sirikata::AsyncConnectionSet::processStoredValue ( std::string  dataKey) [private]
void Sirikata::AsyncConnectionSet::queryTimedOutCallbackSet ( const boost::system::error_code &  e,
IndividualQueryData iqd 
) [private]
void Sirikata::AsyncConnectionSet::read_handler_set ( const boost::system::error_code &  error,
std::size_t  bytes_transferred,
boost::asio::streambuf *  sBuff 
) [private]
AsyncConnectionSet::ConnectionState Sirikata::AsyncConnectionSet::ready ( )

References mReady.

void Sirikata::AsyncConnectionSet::set ( const CraqDataKey dataToSet,
const CraqEntry dataToSetTo,
const bool &  track,
const int &  trackNum 
)
void Sirikata::AsyncConnectionSet::set_generic_read_error_handler ( ) [private]
void Sirikata::AsyncConnectionSet::set_generic_read_result_handler ( ) [private]
void Sirikata::AsyncConnectionSet::set_generic_stored_not_found_error_handler ( ) [private]
void Sirikata::AsyncConnectionSet::setBound ( const CraqObjectID obj_dataToGet,
const CraqEntry dataToSetTo,
const bool &  track,
const int &  trackNum 
)
void Sirikata::AsyncConnectionSet::setProcessing ( )

sets the ready state to be in the processing mode, meaning work has been posted to its strand

References mReady, and PROCESSING.

size_t Sirikata::AsyncConnectionSet::smallestIndex ( std::vector< size_t >  sizeVec) [private]

Referenced by checkError(), and checkStored().

void Sirikata::AsyncConnectionSet::stop ( )
void Sirikata::AsyncConnectionSet::write_some_handler_set ( const boost::system::error_code &  error,
std::size_t  bytes_transferred 
) [private]

References killSequence(), mReady, mReceivedStopRequest, and READY.

Referenced by set().


Member Data Documentation

Referenced by set().

Referenced by processStoredValue().

std::tr1::function<void()> Sirikata::AsyncConnectionSet::mReadyStateChangedCallback [private]

Referenced by connect_handler(), and killSequence().

Referenced by processStoredValue().


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