diff options
Diffstat (limited to 'src/mongo/dbtests/mock/mock_dbclient_connection.cpp')
-rw-r--r-- | src/mongo/dbtests/mock/mock_dbclient_connection.cpp | 299 |
1 files changed, 147 insertions, 152 deletions
diff --git a/src/mongo/dbtests/mock/mock_dbclient_connection.cpp b/src/mongo/dbtests/mock/mock_dbclient_connection.cpp index 612765b7d9e..b357b6bf74c 100644 --- a/src/mongo/dbtests/mock/mock_dbclient_connection.cpp +++ b/src/mongo/dbtests/mock/mock_dbclient_connection.cpp @@ -37,188 +37,183 @@ using std::string; using std::vector; namespace mongo { - MockDBClientConnection::MockDBClientConnection(MockRemoteDBServer* remoteServer, - bool autoReconnect): - _remoteServerInstanceID(remoteServer->getInstanceID()), - _remoteServer(remoteServer), - _isFailed(false), - _sockCreationTime(mongo::curTimeMicros64()), - _autoReconnect(autoReconnect) { - } +MockDBClientConnection::MockDBClientConnection(MockRemoteDBServer* remoteServer, bool autoReconnect) + : _remoteServerInstanceID(remoteServer->getInstanceID()), + _remoteServer(remoteServer), + _isFailed(false), + _sockCreationTime(mongo::curTimeMicros64()), + _autoReconnect(autoReconnect) {} + +MockDBClientConnection::~MockDBClientConnection() {} - MockDBClientConnection::~MockDBClientConnection() { +bool MockDBClientConnection::connect(const char* hostName, std::string& errmsg) { + if (_remoteServer->isRunning()) { + _remoteServerInstanceID = _remoteServer->getInstanceID(); + return true; } - bool MockDBClientConnection::connect(const char* hostName, std::string& errmsg) { - if (_remoteServer->isRunning()) { - _remoteServerInstanceID = _remoteServer->getInstanceID(); - return true; - } + errmsg.assign("cannot connect to " + _remoteServer->getServerAddress()); + return false; +} + +bool MockDBClientConnection::runCommand(const string& dbname, + const BSONObj& cmdObj, + BSONObj& info, + int options) { + checkConnection(); - errmsg.assign("cannot connect to " + _remoteServer->getServerAddress()); - return false; + try { + return _remoteServer->runCommand(_remoteServerInstanceID, dbname, cmdObj, info, options); + } catch (const mongo::SocketException&) { + _isFailed = true; + throw; } - bool MockDBClientConnection::runCommand(const string& dbname, const BSONObj& cmdObj, - BSONObj &info, int options) { - checkConnection(); + return false; +} - try { - return _remoteServer->runCommand(_remoteServerInstanceID, dbname, cmdObj, - info, options); - } - catch (const mongo::SocketException&) { - _isFailed = true; - throw; - } +rpc::UniqueReply MockDBClientConnection::runCommandWithMetadata(StringData database, + StringData command, + const BSONObj& metadata, + const BSONObj& commandArgs) { + checkConnection(); - return false; + try { + return _remoteServer->runCommandWithMetadata( + _remoteServerInstanceID, database, command, metadata, commandArgs); + } catch (const mongo::SocketException&) { + _isFailed = true; + throw; } - rpc::UniqueReply MockDBClientConnection::runCommandWithMetadata(StringData database, - StringData command, - const BSONObj &metadata, - const BSONObj &commandArgs) { - checkConnection(); - - try { - return _remoteServer->runCommandWithMetadata(_remoteServerInstanceID, - database, - command, - metadata, - commandArgs); - } - catch (const mongo::SocketException&) { - _isFailed = true; - throw; - } - - MONGO_UNREACHABLE; - } + MONGO_UNREACHABLE; +} - std::unique_ptr<mongo::DBClientCursor> MockDBClientConnection::query(const string& ns, - mongo::Query query, - int nToReturn, - int nToSkip, - const BSONObj* fieldsToReturn, - int queryOptions, - int batchSize) { - checkConnection(); - - try { - mongo::BSONArray result(_remoteServer->query(_remoteServerInstanceID, ns, query, - nToReturn, nToSkip, fieldsToReturn, queryOptions, batchSize)); - - std::unique_ptr<mongo::DBClientCursor> cursor; - cursor.reset(new MockDBClientCursor(this, result)); - return cursor; - } - catch (const mongo::SocketException&) { - _isFailed = true; - throw; - } - - std::unique_ptr<mongo::DBClientCursor> nullPtr; - return nullPtr; - } +std::unique_ptr<mongo::DBClientCursor> MockDBClientConnection::query(const string& ns, + mongo::Query query, + int nToReturn, + int nToSkip, + const BSONObj* fieldsToReturn, + int queryOptions, + int batchSize) { + checkConnection(); + + try { + mongo::BSONArray result(_remoteServer->query(_remoteServerInstanceID, + ns, + query, + nToReturn, + nToSkip, + fieldsToReturn, + queryOptions, + batchSize)); + + std::unique_ptr<mongo::DBClientCursor> cursor; + cursor.reset(new MockDBClientCursor(this, result)); + return cursor; + } catch (const mongo::SocketException&) { + _isFailed = true; + throw; + } + + std::unique_ptr<mongo::DBClientCursor> nullPtr; + return nullPtr; +} - mongo::ConnectionString::ConnectionType MockDBClientConnection::type() const { - return mongo::ConnectionString::CUSTOM; - } +mongo::ConnectionString::ConnectionType MockDBClientConnection::type() const { + return mongo::ConnectionString::CUSTOM; +} - bool MockDBClientConnection::isFailed() const { - return _isFailed; - } +bool MockDBClientConnection::isFailed() const { + return _isFailed; +} - string MockDBClientConnection::getServerAddress() const { - return _remoteServer->getServerAddress(); - } +string MockDBClientConnection::getServerAddress() const { + return _remoteServer->getServerAddress(); +} - string MockDBClientConnection::toString() const { - return _remoteServer->toString(); - } +string MockDBClientConnection::toString() const { + return _remoteServer->toString(); +} - unsigned long long MockDBClientConnection::query(stdx::function<void(const BSONObj&)> f, - const string& ns, - mongo::Query query, - const BSONObj* fieldsToReturn, - int queryOptions) { - verify(false); - return 0; - } +unsigned long long MockDBClientConnection::query(stdx::function<void(const BSONObj&)> f, + const string& ns, + mongo::Query query, + const BSONObj* fieldsToReturn, + int queryOptions) { + verify(false); + return 0; +} - unsigned long long MockDBClientConnection::query(stdx::function<void( - mongo::DBClientCursorBatchIterator&)> f, - const std::string& ns, - mongo::Query query, - const mongo::BSONObj* fieldsToReturn, - int queryOptions) { - verify(false); - return 0; - } +unsigned long long MockDBClientConnection::query( + stdx::function<void(mongo::DBClientCursorBatchIterator&)> f, + const std::string& ns, + mongo::Query query, + const mongo::BSONObj* fieldsToReturn, + int queryOptions) { + verify(false); + return 0; +} - uint64_t MockDBClientConnection::getSockCreationMicroSec() const { - return _sockCreationTime; - } +uint64_t MockDBClientConnection::getSockCreationMicroSec() const { + return _sockCreationTime; +} - void MockDBClientConnection::insert(const string &ns, BSONObj obj, int flags) { - _remoteServer->insert(ns, obj, flags); - } +void MockDBClientConnection::insert(const string& ns, BSONObj obj, int flags) { + _remoteServer->insert(ns, obj, flags); +} - void MockDBClientConnection::insert(const string &ns, - const vector<BSONObj>& objList, - int flags) { - for (vector<BSONObj>::const_iterator iter = objList.begin(); - iter != objList.end(); ++iter) { - insert(ns, *iter, flags); - } +void MockDBClientConnection::insert(const string& ns, const vector<BSONObj>& objList, int flags) { + for (vector<BSONObj>::const_iterator iter = objList.begin(); iter != objList.end(); ++iter) { + insert(ns, *iter, flags); } +} - void MockDBClientConnection::remove(const string& ns, Query query, bool justOne) { - remove(ns, query, (justOne ? RemoveOption_JustOne : 0)); - } +void MockDBClientConnection::remove(const string& ns, Query query, bool justOne) { + remove(ns, query, (justOne ? RemoveOption_JustOne : 0)); +} - void MockDBClientConnection::remove(const string& ns, Query query, int flags) { - _remoteServer->remove(ns, query, flags); - } +void MockDBClientConnection::remove(const string& ns, Query query, int flags) { + _remoteServer->remove(ns, query, flags); +} - void MockDBClientConnection::killCursor(long long cursorID) { - verify(false); // unimplemented - } +void MockDBClientConnection::killCursor(long long cursorID) { + verify(false); // unimplemented +} - bool MockDBClientConnection::callRead(mongo::Message& toSend , mongo::Message& response) { - verify(false); // unimplemented - return false; - } +bool MockDBClientConnection::callRead(mongo::Message& toSend, mongo::Message& response) { + verify(false); // unimplemented + return false; +} - bool MockDBClientConnection::call(mongo::Message& toSend, - mongo::Message& response, - bool assertOk, - string* actualServer) { - verify(false); // unimplemented - return false; - } +bool MockDBClientConnection::call(mongo::Message& toSend, + mongo::Message& response, + bool assertOk, + string* actualServer) { + verify(false); // unimplemented + return false; +} - void MockDBClientConnection::say(mongo::Message& toSend, bool isRetry, string* actualServer) { - verify(false); // unimplemented - } +void MockDBClientConnection::say(mongo::Message& toSend, bool isRetry, string* actualServer) { + verify(false); // unimplemented +} - void MockDBClientConnection::sayPiggyBack(mongo::Message& toSend) { - verify(false); // unimplemented - } +void MockDBClientConnection::sayPiggyBack(mongo::Message& toSend) { + verify(false); // unimplemented +} - bool MockDBClientConnection::lazySupported() const { - verify(false); // unimplemented - return false; - } +bool MockDBClientConnection::lazySupported() const { + verify(false); // unimplemented + return false; +} - double MockDBClientConnection::getSoTimeout() const { - return 0; - } +double MockDBClientConnection::getSoTimeout() const { + return 0; +} - void MockDBClientConnection::checkConnection() { - if (_isFailed && _autoReconnect) { - _remoteServerInstanceID = _remoteServer->getInstanceID(); - } +void MockDBClientConnection::checkConnection() { + if (_isFailed && _autoReconnect) { + _remoteServerInstanceID = _remoteServer->getInstanceID(); } } +} |