Psyllid  v1.12.4
Project 8 Data Acquisisition Software
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
run_server Class Reference

Sets up daq_control, strea_manager and request_receiver. Registers request handles. More...

#include <run_server.hh>

Inheritance diagram for run_server:
Inheritance graph

Public Types

enum  status {
  k_initialized = 0, k_starting = 1, k_running = 5, k_done = 10,
  k_error = 100
}
 

Public Member Functions

 run_server ()
 
virtual ~run_server ()
 
void execute (const scarab::param_node &a_config)
 
void quit_server ()
 
int get_return () const
 
dripline::reply_ptr_t handle_get_server_status_request (const dripline::request_ptr_t a_request)
 
dripline::reply_ptr_t handle_stop_all_request (const dripline::request_ptr_t a_request)
 
dripline::reply_ptr_t handle_quit_server_request (const dripline::request_ptr_t a_request)
 
status get_status () const
 
void set_status (status a_status)
 

Static Public Member Functions

static std::string interpret_status (status a_status)
 

Private Member Functions

virtual void do_cancellation (int a_code)
 

Private Attributes

int f_return
 
std::shared_ptr< request_receiverf_request_receiver
 
std::shared_ptr< batch_executorf_batch_executor
 
std::shared_ptr< daq_controlf_daq_control
 
std::shared_ptr< stream_managerf_stream_manager
 
std::mutex f_component_mutex
 
std::atomic< statusf_status
 

Detailed Description

Sets up daq_control, strea_manager and request_receiver. Registers request handles.

Author
N. S. Oblath

A run_server instance is created by the psyllid executable. The executable calls run_server.execute() and waits for it's return. In execute(), run_server creates new instances of daq_control, stream_manager and request_receiver. It also adds set, get and cmd request handlers by registering handlers with the request_receiver. Then it calls daq_control.execute and request_receiver.execute in 2 separate threads. run_server.execute() only returns when all threads were joined.

Definition at line 47 of file run_server.hh.

Member Enumeration Documentation

◆ status

enum status
Enumerator
k_initialized 
k_starting 
k_running 
k_done 
k_error 

Definition at line 79 of file run_server.hh.

Constructor & Destructor Documentation

◆ run_server()

Definition at line 32 of file run_server.cc.

◆ ~run_server()

~run_server ( )
virtual

Definition at line 44 of file run_server.cc.

Member Function Documentation

◆ do_cancellation()

void do_cancellation ( int  a_code)
privatevirtual

Definition at line 204 of file run_server.cc.

◆ execute()

void execute ( const scarab::param_node &  a_config)

Definition at line 48 of file run_server.cc.

◆ get_return()

int get_return ( ) const
inline

Definition at line 98 of file run_server.hh.

◆ get_status()

run_server::status get_status ( ) const
inline

Definition at line 103 of file run_server.hh.

◆ handle_get_server_status_request()

dripline::reply_ptr_t handle_get_server_status_request ( const dripline::request_ptr_t  a_request)

Definition at line 225 of file run_server.cc.

◆ handle_quit_server_request()

dripline::reply_ptr_t handle_quit_server_request ( const dripline::request_ptr_t  a_request)

Definition at line 262 of file run_server.cc.

◆ handle_stop_all_request()

dripline::reply_ptr_t handle_stop_all_request ( const dripline::request_ptr_t  a_request)

◆ interpret_status()

std::string interpret_status ( status  a_status)
static

Definition at line 270 of file run_server.cc.

◆ quit_server()

void quit_server ( )

Definition at line 217 of file run_server.cc.

◆ set_status()

void set_status ( status  a_status)
inline

Definition at line 108 of file run_server.hh.

Member Data Documentation

◆ f_batch_executor

std::shared_ptr< batch_executor > f_batch_executor
private

Definition at line 71 of file run_server.hh.

◆ f_component_mutex

std::mutex f_component_mutex
private

Definition at line 76 of file run_server.hh.

◆ f_daq_control

std::shared_ptr< daq_control > f_daq_control
private

Definition at line 73 of file run_server.hh.

◆ f_request_receiver

std::shared_ptr< request_receiver > f_request_receiver
private

Definition at line 70 of file run_server.hh.

◆ f_return

int f_return
private

Definition at line 67 of file run_server.hh.

◆ f_status

std::atomic< status > f_status
private

Definition at line 94 of file run_server.hh.

◆ f_stream_manager

std::shared_ptr< stream_manager > f_stream_manager
private

Definition at line 74 of file run_server.hh.


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