1#ifndef SOMEIP_SD_AGENT_H
2#define SOMEIP_SD_AGENT_H
5#include "../../helper/finite_state_machine.h"
6#include "../../helper/network_layer.h"
7#include "./someip_sd_message.h"
54 throw std::logic_error(
55 "The state has been already activated.");
Finite State Machine (FMS) controller.
Definition: finite_state_machine.h:20
SOME/IP service discovery agent (i.e., a server or a client)
Definition: someip_sd_agent.h:21
void Join()
Join to the timer's thread.
Definition: someip_sd_agent.h:72
T GetState() const noexcept
Get the current server state.
Definition: someip_sd_agent.h:66
virtual void StartAgent(T state)=0
Start the service discovery agent.
SomeIpSdAgent(helper::NetworkLayer< SomeIpSdMessage > *networkLayer)
Constructor.
Definition: someip_sd_agent.h:43
std::future< void > Future
Agent running state future object.
Definition: someip_sd_agent.h:27
void Stop()
Stop the service discovery agent.
Definition: someip_sd_agent.h:83
helper::FiniteStateMachine< T > StateMachine
Agent's FSM.
Definition: someip_sd_agent.h:24
virtual void StopAgent()=0
Stop the service discovery agent.
helper::NetworkLayer< SomeIpSdMessage > * CommunicationLayer
Network communication abstraction layer.
Definition: someip_sd_agent.h:30
void Start()
Start the service discovery agent.
Definition: someip_sd_agent.h:49