diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2018-07-11 10:42:31 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2018-07-11 10:42:31 -0700 |
| commit | f94aea8119bdf5b894c4d9a29e678c3c3594b490 (patch) | |
| tree | 6605b2919773316cbe9512c169ed7f4882af8497 /controller/RethinkDB.cpp | |
| parent | 37ae3b2b80e95758e028e476c9bcb485583f8208 (diff) | |
| download | infinitytier-f94aea8119bdf5b894c4d9a29e678c3c3594b490.tar.gz infinitytier-f94aea8119bdf5b894c4d9a29e678c3c3594b490.zip | |
Return error 503 if RethinkDB is down when built as RethinkDB-based controller.
Diffstat (limited to 'controller/RethinkDB.cpp')
| -rw-r--r-- | controller/RethinkDB.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/controller/RethinkDB.cpp b/controller/RethinkDB.cpp index f6c8a59c..a46d033f 100644 --- a/controller/RethinkDB.cpp +++ b/controller/RethinkDB.cpp @@ -263,9 +263,13 @@ RethinkDB::RethinkDB(EmbeddedNetworkController *const nc,const Identity &myId,co std::unique_ptr<R::Connection> rdb; while (_run == 1) { try { - if (!rdb) + if (!rdb) { + _connected = 0; rdb = R::connect(this->_host,this->_port,this->_auth); + } + if (rdb) { + _connected = 1; R::Array batch; R::Object tmpobj; @@ -434,6 +438,11 @@ bool RethinkDB::waitForReady() return true; } +bool RethinkDB::isReady() +{ + return ((_ready)&&(_connected)); +} + void RethinkDB::save(nlohmann::json *orig,nlohmann::json &record) { if (!record.is_object()) // sanity check |
