Sirikata
|
#include <asyncConnection.hpp>
Public Types | |
enum | ConnectionState { READY, NEED_NEW_SOCKET, PROCESSING } |
Public Member Functions | |
void | initialize (boost::asio::ip::tcp::socket *socket, boost::asio::ip::tcp::resolver::iterator, SpaceContext *spc, Network::IOStrand *) |
void | tick (std::vector< CraqOperationResult * > &opResults_get, std::vector< CraqOperationResult * > &opResults_error, std::vector< CraqOperationResult * > &opResults_trackedSets) |
AsyncConnection::ConnectionState | ready () |
bool | set (CraqDataKey &dataToSet, const CraqEntry &dataToSetTo, bool &track, int &trackNum) |
bool | get (CraqDataKey &dataToGet) |
~AsyncConnection () | |
AsyncConnection () | |
Private Member Functions | |
void | connect_handler (const boost::system::error_code &error) |
void | read_handler_set (const boost::system::error_code &error, std::size_t bytes_transferred, boost::asio::streambuf *sBuff) |
void | finish_read_handler_set (std::string line, boost::asio::streambuf *sBuff) |
void | write_some_handler_set (const boost::system::error_code &error, std::size_t bytes_transferred) |
void | write_some_handler_get (const boost::system::error_code &error, std::size_t bytes_transferred) |
void | read_handler_get (const boost::system::error_code &error, std::size_t bytes_transferred, boost::asio::streambuf *sBuff) |
Private Attributes | |
boost::asio::ip::tcp::socket * | mSocket |
CraqDataKey | currentlySearchingFor |
CraqEntry | currentlySettingTo |
ConnectionState | mReady |
SpaceContext * | ctx |
Network::IOStrand * | mStrand |
bool | mTracking |
int | mTrackNumber |
std::vector < CraqOperationResult * > | mOperationResultVector |
std::vector < CraqOperationResult * > | mOperationResultErrorVector |
std::vector < CraqOperationResult * > | mOperationResultTrackedSetsVector |
Sirikata::AsyncConnection::~AsyncConnection | ( | ) |
References mSocket, and NEED_NEW_SOCKET.
Sirikata::AsyncConnection::AsyncConnection | ( | ) |
References mReady, mTrackNumber, and NEED_NEW_SOCKET.
void Sirikata::AsyncConnection::connect_handler | ( | const boost::system::error_code & | error | ) | [private] |
References Sirikata::Logging::error, mReady, mSocket, NEED_NEW_SOCKET, and READY.
Referenced by initialize().
void Sirikata::AsyncConnection::finish_read_handler_set | ( | std::string | line, |
boost::asio::streambuf * | sBuff | ||
) | [private] |
bool Sirikata::AsyncConnection::get | ( | CraqDataKey & | dataToGet | ) |
void Sirikata::AsyncConnection::initialize | ( | boost::asio::ip::tcp::socket * | socket, |
boost::asio::ip::tcp::resolver::iterator | it, | ||
SpaceContext * | spc, | ||
Network::IOStrand * | strand | ||
) |
References connect_handler(), ctx, mReady, mSocket, mStrand, and PROCESSING.
void Sirikata::AsyncConnection::read_handler_get | ( | const boost::system::error_code & | error, |
std::size_t | bytes_transferred, | ||
boost::asio::streambuf * | sBuff | ||
) | [private] |
References Sirikata::CRAQ_GET_RESP, Sirikata::CRAQ_GET_RESP_SIZE, Sirikata::CRAQ_NOT_FOUND_RESP, Sirikata::CRAQ_SERVER_SIZE, currentlySearchingFor, currentlySettingTo, Sirikata::CraqOperationResult::GET, line, mOperationResultErrorVector, mOperationResultVector, mReady, mSocket, mTracking, mTrackNumber, NEED_NEW_SOCKET, Sirikata::CraqEntry::null(), and READY.
Referenced by get().
void Sirikata::AsyncConnection::read_handler_set | ( | const boost::system::error_code & | error, |
std::size_t | bytes_transferred, | ||
boost::asio::streambuf * | sBuff | ||
) | [private] |
References currentlySearchingFor, currentlySettingTo, line, mOperationResultErrorVector, mOperationResultTrackedSetsVector, mReady, mSocket, mTracking, mTrackNumber, NEED_NEW_SOCKET, READY, and Sirikata::CraqOperationResult::SET.
Referenced by set().
AsyncConnection::ConnectionState Sirikata::AsyncConnection::ready | ( | ) |
References mReady.
bool Sirikata::AsyncConnection::set | ( | CraqDataKey & | dataToSet, |
const CraqEntry & | dataToSetTo, | ||
bool & | track, | ||
int & | trackNum | ||
) |
References Sirikata::CRAQ_DATA_SET_END_LINE, Sirikata::CRAQ_DATA_SET_PREFIX, Sirikata::CRAQ_DATA_SET_SIZE, Sirikata::CRAQ_DATA_TO_SET_SIZE, Sirikata::CRAQ_TO_SET_SUFFIX, currentlySearchingFor, currentlySettingTo, mReady, mSocket, mStrand, mTracking, mTrackNumber, PROCESSING, read_handler_set(), READY, Sirikata::CraqEntry::serialize(), Sirikata::Network::IOStrand::wrap(), and write_some_handler_set().
void Sirikata::AsyncConnection::tick | ( | std::vector< CraqOperationResult * > & | opResults_get, |
std::vector< CraqOperationResult * > & | opResults_error, | ||
std::vector< CraqOperationResult * > & | opResults_trackedSets | ||
) |
void Sirikata::AsyncConnection::write_some_handler_get | ( | const boost::system::error_code & | error, |
std::size_t | bytes_transferred | ||
) | [private] |
References currentlySearchingFor, currentlySettingTo, Sirikata::CraqOperationResult::GET, mOperationResultErrorVector, mReady, mSocket, mTracking, mTrackNumber, and NEED_NEW_SOCKET.
Referenced by get().
void Sirikata::AsyncConnection::write_some_handler_set | ( | const boost::system::error_code & | error, |
std::size_t | bytes_transferred | ||
) | [private] |
References currentlySearchingFor, currentlySettingTo, mOperationResultErrorVector, mReady, mSocket, mTracking, mTrackNumber, NEED_NEW_SOCKET, and Sirikata::CraqOperationResult::SET.
Referenced by set().
SpaceContext* Sirikata::AsyncConnection::ctx [private] |
Referenced by initialize().
Referenced by get(), read_handler_get(), read_handler_set(), set(), write_some_handler_get(), and write_some_handler_set().
Referenced by read_handler_get(), read_handler_set(), set(), write_some_handler_get(), and write_some_handler_set().
std::vector<CraqOperationResult*> Sirikata::AsyncConnection::mOperationResultErrorVector [private] |
Referenced by read_handler_get(), read_handler_set(), tick(), write_some_handler_get(), and write_some_handler_set().
std::vector<CraqOperationResult*> Sirikata::AsyncConnection::mOperationResultTrackedSetsVector [private] |
Referenced by read_handler_set(), and tick().
std::vector<CraqOperationResult*> Sirikata::AsyncConnection::mOperationResultVector [private] |
Referenced by read_handler_get(), and tick().
Referenced by AsyncConnection(), connect_handler(), get(), initialize(), read_handler_get(), read_handler_set(), ready(), set(), write_some_handler_get(), and write_some_handler_set().
boost::asio::ip::tcp::socket* Sirikata::AsyncConnection::mSocket [private] |
Referenced by get(), initialize(), and set().
bool Sirikata::AsyncConnection::mTracking [private] |
Referenced by read_handler_get(), read_handler_set(), set(), write_some_handler_get(), and write_some_handler_set().
int Sirikata::AsyncConnection::mTrackNumber [private] |
Referenced by AsyncConnection(), read_handler_get(), read_handler_set(), set(), write_some_handler_get(), and write_some_handler_set().