| helics 3.6.1

Public Member Functions | Static Protected Member Functions | List of all members
helics::apps::TypedBrokerServer Class Referenceabstract

`#include <TypedBrokerServer.hpp>`

Inheritance diagram for helics::apps::TypedBrokerServer:

## Public Member Functions
virtual void | startServer (const nlohmann::json *val, const std::shared_ptr< TypedBrokerServer > &ptr)=0
virtual void | stopServer ()=0
virtual void | processArgs (std::string_view args)

## Static Protected Member Functions
static ActionMessage | generateMessageResponse (const ActionMessage &rxcmd, portData &pdata, CoreType ctype)
static int | getOpenPort (portData &pd)
static void | assignPort (portData &pd, int pnumber, std::shared_ptr< Broker > &brk)
static void | logMessage (std::string_view message)

## Detailed Description

a virtual class to use as a base for broker servers of various types

## Member Function Documentation

## ◆ generateMessageResponse()

ActionMessage helics::apps::TypedBrokerServer::generateMessageResponse | ( | const ActionMessage & | rxcmd,
|  | portData & | pdata,
|  | CoreType | ctype
| ) |  |
| static protected

generate a reply to a message

References helics::ActionMessage::action(), getOpenPort(), and helics::ActionMessage::messageID.

## ◆ getOpenPort()

int helics::apps::TypedBrokerServer::getOpenPort | ( | portData & | pd | ) |
| static protected

get an open port for broker to start

Referenced by generateMessageResponse().

## ◆ processArgs()

void helics::apps::TypedBrokerServer::processArgs | ( | std::string_view | args | ) |
| virtual

process some potential command line arguments for the typed server

Reimplemented in helics::apps::zmqBrokerServer, and helics::apps::WebServer.

## ◆ startServer()

virtual void helics::apps::TypedBrokerServer::startServer | ( | const nlohmann::json * | val,
|  | const std::shared_ptr< TypedBrokerServer > & | ptr
| ) |  |
| pure virtual

start the server, the server may require a shared pointer to keep the data alive

Implemented in helics::apps::zmqBrokerServer, helics::apps::WebServer, and helics::apps::AsioBrokerServer.

## ◆ stopServer()

virtual void helics::apps::TypedBrokerServer::stopServer | ( |  | ) |
| pure virtual

stop the server

Implemented in helics::apps::zmqBrokerServer, helics::apps::WebServer, and helics::apps::AsioBrokerServer.

The documentation for this class was generated from the following files:

- TypedBrokerServer.hpp
- TypedBrokerServer.cpp