36 #include "mongo/base/disallow_copying.h" 37 #include "mongo/db/operation_context.h" 39 #include "mongo/stdx/mutex.h" 77 std::unique_ptr<MobileSession> getSession(OperationContext*
opCtx);
97 sqlite3* _popSession_inlock();
108 std::uint64_t _maxPoolSize = 80;
109 std::uint64_t _curPoolSize = 0;
110 bool _shuttingDown =
false;
stdx::condition_variable _releasedSessionNotifier
Definition: mobile_session_pool.h:101
MONGO_DISALLOW_COPYING(MobileDelayedOpQueue)
MobileDelayedOpQueue failedDropsQueue
Definition: mobile_session_pool.h:91
std::string _path
Definition: mobile_session_pool.h:103
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
MobileDelayedOpQueue()
Definition: mobile_session_pool.cpp:50
std::queue< std::string > _opQueryQueue
Definition: mobile_session_pool.h:60
This class manages a queue of operations delayed for some reason.
Definition: mobile_session_pool.h:47
stdx::mutex _queueMutex
Definition: mobile_session_pool.h:59
bool isEmpty()
Definition: mobile_session_pool.cpp:93
This class manages a SQLite database connection object.
Definition: mobile_session.h:43
This class manages a pool of open sqlite3* objects.
Definition: mobile_session_pool.h:66
std::vector< sqlite3 * > SessionPool
Definition: mobile_session_pool.h:112
stdx::mutex _mutex
Definition: mobile_session_pool.h:100
SessionPool _sessions
Definition: mobile_session_pool.h:113
void execAndDequeueOp(MobileSession *session)
Definition: mobile_session_pool.cpp:62
void execAndDequeueAllOps(MobileSession *session)
Definition: mobile_session_pool.cpp:87
Collection *const OperationContext *const opCtx
Definition: collection_impl.cpp:80
AtomicBool _isEmpty
Definition: mobile_session_pool.h:58
void enqueueOp(std::string &opQuery)
Definition: mobile_session_pool.cpp:52