From 8f580dc797dac3424d6fc7097396edeb22633d5e Mon Sep 17 00:00:00 2001
From: Michael Davis <michael.davis@cern.ch>
Date: Thu, 8 Mar 2018 17:22:40 +0100
Subject: [PATCH] Integrates submodule v0.7

---
 cmdline/CtaAdminCmd.cpp       | 28 +++++++---------------------
 cmdline/CtaAdminCmd.hpp       | 12 ++++++------
 xrootd-ssi-protobuf-interface |  2 +-
 3 files changed, 14 insertions(+), 28 deletions(-)

diff --git a/cmdline/CtaAdminCmd.cpp b/cmdline/CtaAdminCmd.cpp
index 8fac1605b1..30b8b780a1 100644
--- a/cmdline/CtaAdminCmd.cpp
+++ b/cmdline/CtaAdminCmd.cpp
@@ -141,7 +141,6 @@ CtaAdminCmd::CtaAdminCmd(int argc, const char *const *const argv) :
 void CtaAdminCmd::send() const
 {
    // Validate the Protocol Buffer
-
    try {
       validateCmd(m_request.admincmd());
    } catch(std::runtime_error &ex) {
@@ -149,22 +148,23 @@ void CtaAdminCmd::send() const
    }
 
    // Get socket address of CTA Frontend endpoint
-
    cta::cmdline::Configuration cliConf("/etc/cta/cta-cli.conf");
    std::string endpoint = cliConf.getFrontendHostAndPort();
 
-   // Obtain a Service Provider
+   // Set configuration options
+   XrdSsiPb::Config config;
+   config.set("response_bufsize", StreamBufferSize);
+   config.set("request_timeout", DefaultRequestTimeout);
+   config.getEnv("request_timeout", "XRD_REQUESTTIMEOUT");
 
-   XrdSsiPbServiceType cta_service(endpoint, Resource, StreamBufferSize, GetRequestTimeout());
+   // Obtain a Service Provider
+   XrdSsiPbServiceType cta_service(endpoint, Resource, config);
 
    // Send the Request to the Service and get a Response
-
    cta::xrd::Response response;
-   
    auto stream_future = cta_service.Send(m_request, response);
 
    // Handle responses
-
    switch(response.type())
    {
       using namespace cta::xrd;
@@ -288,20 +288,6 @@ void CtaAdminCmd::throwUsage(const std::string &error_txt) const
    throw std::runtime_error(help.str());
 }
 
-
-
-int CtaAdminCmd::GetRequestTimeout() const
-{
-   const char *request_timeout_str = ::getenv("XRD_REQUESTTIMEOUT");
-
-   int request_timeout = request_timeout_str == nullptr ? DefaultRequestTimeout : atoi(request_timeout_str);
-
-   // Use default if XRD_REQUESTTIMEOUT is not a valid positive integer
-   if(request_timeout <= 0) request_timeout = DefaultRequestTimeout;
-
-   return request_timeout;
-}
-
 }} // namespace cta::admin
 
 
diff --git a/cmdline/CtaAdminCmd.hpp b/cmdline/CtaAdminCmd.hpp
index 24c5285c55..d3e331bfdf 100644
--- a/cmdline/CtaAdminCmd.hpp
+++ b/cmdline/CtaAdminCmd.hpp
@@ -58,13 +58,13 @@ private:
    /*
     * Member variables
     */
-   const std::string Resource      = "/ctafrontend";    //!< XRootD SSI Resource name
-   const int StreamBufferSize      = 1024;              //!< Buffer size for Data/Stream Responses
-   const int DefaultRequestTimeout = 10;                //!< Default Request Timeout. Can be overridden by
-                                                        //!< XRD_REQUESTTIMEOUT environment variable.
+   const std::string Resource              = "/ctafrontend";    //!< XRootD SSI Resource name
+   const std::string StreamBufferSize      = "1024";            //!< Buffer size for Data/Stream Responses
+   const std::string DefaultRequestTimeout = "10";              //!< Default Request Timeout. Can be overridden by
+                                                                //!< XRD_REQUESTTIMEOUT environment variable.
 
-   std::string       m_execname;                        //!< Executable name of this program
-   cta::xrd::Request m_request;                         //!< Protocol Buffer for the command and parameters
+   std::string       m_execname;    //!< Executable name of this program
+   cta::xrd::Request m_request;     //!< Protocol Buffer for the command and parameters
 
    static constexpr const char* const LOG_SUFFIX  = "CtaAdminCmd";    //!< Identifier for log messages
 };
diff --git a/xrootd-ssi-protobuf-interface b/xrootd-ssi-protobuf-interface
index bb95ae8b5a..abdb133901 160000
--- a/xrootd-ssi-protobuf-interface
+++ b/xrootd-ssi-protobuf-interface
@@ -1 +1 @@
-Subproject commit bb95ae8b5acfc8424b6a5537a5738bd92b4dfb2a
+Subproject commit abdb133901fb9451a27e941910a5a2228117ce99
-- 
GitLab