<?xml version="1.0" encoding="UTF-8"?>
<xml>
  <records>
    <record>
       <contributors>
          <authors>
             <author>Meykopff, S.</author>
          </authors>
       </contributors>
       <titles>
          <title>
             A Modern C++ Multiprocessing DOOCS Client Library Implementation
          </title>
       </titles>
       <publisher>JACoW Publishing</publisher>
       <pub-location>Geneva, Switzerland</pub-location>
		 <isbn>2673-5512</isbn>
		 <isbn>978-3-95450-237-0</isbn>
		 <electronic-resource-num>10.18429/JACoW-PCaPAC2022-THP07</electronic-resource-num>
		 <language>English</language>
		 <pages>62-65</pages>
       <keywords>
          <keyword>experiment</keyword>
          <keyword>controls</keyword>
          <keyword>operation</keyword>
          <keyword>status</keyword>
          <keyword>GUI</keyword>
       </keywords>
       <work-type>Contribution to a conference proceedings</work-type>
       <dates>
          <year>2023</year>
          <pub-dates>
             <date>2023-02</date>
          </pub-dates>
       </dates>
       <urls>
          <related-urls>
              <url>https://doi.org/10.18429/JACoW-PCaPAC2022-THP07</url>
              <url>https://jacow.org/pcapac2022/papers/thp07.pdf</url>
          </related-urls>
       </urls>
       <abstract>
          At the DESY site in Hamburg/Germany the linear accelerators FLASH and European XFEL are successful operated by the control system DOOCS. DOOCS based on the client’server model and communicates with the matured SUN-RPC. The servers are build with a framework which consists of several C++ libraries. The clients use a DOOCS client library implementation in C++ or Java. In the past years the public interface (API) of the C++ client library was refined. But modern C++ features like futures are not provided in the API. Massive multi-processing, parallel communication, and optimized names resolution could improve the overall communication latency. The usage of the standard C++ library, the limit of external dependencies to SUN-RPC and OpenLDAP, and the reduction of the code size, may increase the maintainability of the code. This contribution presents an experimental new client C++ library which achieves these goals.
       </abstract>
    </record>
  </records>
</xml>
