Add synchronous SDL readiness waiting API
[ric-plt/sdl.git] / src / cli / testgetsetcommand.cpp
index 81bdd1c..fda0cd4 100644 (file)
@@ -16,11 +16,13 @@ using namespace shareddatalayer::cli;
 
 namespace
 {
-    std::shared_ptr<shareddatalayer::SyncStorage> createSyncStorage(std::ostream& out)
+    std::shared_ptr<shareddatalayer::SyncStorage> createSyncStorage(const std::string& nsStr, std::ostream& out)
     {
         try
         {
             auto sdl(shareddatalayer::SyncStorage::create());
+            sdl->waitReady(nsStr, std::chrono::minutes(1));
+            sdl->setOperationTimeout(std::chrono::seconds(5));
             return sdl;
         }
         catch (const shareddatalayer::Exception& error)
@@ -93,9 +95,9 @@ namespace
     {
         auto keyCount(map["key-count"].as<int>());
         const auto timeout(map["timeout"].as<int>());
-        auto ns("sdltoolns");
+        auto ns(map["ns"].as<std::string>());
         setTimeout(timeout);
-        auto sdl(createSyncStorage(out));
+        auto sdl(createSyncStorage(ns, out));
         if (sdl == nullptr)
             return EXIT_FAILURE;
 
@@ -141,4 +143,5 @@ AUTO_REGISTER_COMMAND(std::bind(TestGetSetCommand, std::placeholders::_1, std::p
                       "Check that basic SDL api commands (set/get) works normally and measure latency.",
                       CommandMap::Category::UTIL, 30010,
                       ("key-count", boost::program_options::value<int>()->default_value(10), "Number of write/read keys")
-                      ("timeout", boost::program_options::value<int>()->default_value(0), "Timeout (in seconds), Default is no timeout"));
+                      ("timeout", boost::program_options::value<int>()->default_value(0), "Timeout (in seconds), Default is no timeout")
+                      ("ns", boost::program_options::value<std::string>()->default_value("sdltoolns"), "namespace to use"));