helics  3.5.2
TcpCore.h
1 /*
2 Copyright (c) 2017-2024,
3 Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Sustainable
4 Energy, LLC. See the top-level NOTICE for additional details. All rights reserved.
5 SPDX-License-Identifier: BSD-3-Clause
6 */
7 #pragma once
8 
9 #include "../NetworkCore.hpp"
10 
11 #include <memory>
12 #include <string>
13 #include <vector>
14 
15 namespace helics {
16 namespace tcp {
17  class TcpComms;
18  class TcpCommsSS;
20  using TcpCore = NetworkCore<TcpComms, InterfaceTypes::TCP>;
21 
23  class TcpCoreSS final: public NetworkCore<TcpCommsSS, InterfaceTypes::TCP> {
24  public:
26  TcpCoreSS() noexcept;
27  TcpCoreSS(std::string_view coreName);
28 
29  protected:
30  virtual std::shared_ptr<helicsCLI11App> generateCLI() override;
31 
32  private:
33  std::vector<std::string> connections;
34  bool no_outgoing_connections = false;
35  virtual bool brokerConnect() override;
36  };
37 
38 } // namespace tcp
39 } // namespace helics
Definition: NetworkCore.hpp:19
Definition: TcpCore.h:23
virtual std::shared_ptr< helicsCLI11App > generateCLI() override
Definition: TcpCore.cpp:24
TcpCoreSS() noexcept
Definition: TcpCore.cpp:20
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14