Belle II Software  release-05-02-19
ZMQAddressUtils.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Braun *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <string>
13 
14 namespace Belle2 {
19  enum ZMQAddressType {
21  c_input,
22  c_output,
23  c_pub,
24  c_sub,
25  c_control
26  };
27 
29  class ZMQAddressUtils {
30  public:
32  static std::string randomSocketName(const std::string& hostname);
34  static std::string randomSocketName();
36  static std::string getSocketAddress(const std::string& socketAddress, ZMQAddressType socketPart);
37  };
39 }
Belle2::c_output
@ c_output
Input socket.
Definition: ZMQAddressUtils.h:30
Belle2::c_sub
@ c_sub
Multicast publish socket.
Definition: ZMQAddressUtils.h:32
Belle2::ZMQAddressUtils::getSocketAddress
static std::string getSocketAddress(const std::string &socketAddress, ZMQAddressType socketPart)
Create a full socket address for the given type from a random socket address, ba adding a suffix.
Definition: ZMQAddressUtils.cc:56
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ZMQAddressType
ZMQAddressType
The type of a ZMQ socket address (which socket to use)
Definition: ZMQAddressUtils.h:28
Belle2::ZMQAddressUtils::randomSocketName
static std::string randomSocketName()
Generate a random socket name in the form ipc:///socketname.
Definition: ZMQAddressUtils.cc:46
Belle2::c_pub
@ c_pub
Output socket.
Definition: ZMQAddressUtils.h:31
Belle2::c_control
@ c_control
Multicast subscribe socket.
Definition: ZMQAddressUtils.h:33