1 #ifndef ACOUSTICDATAFILTER_H_
2 #define ACOUSTICDATAFILTER_H_
14 #include <boost/asio.hpp>
15 #include <boost/bind.hpp>
16 #include <boost/atomic.hpp>
17 #include <boost/shared_ptr.hpp>
18 #include <boost/make_shared.hpp>
19 #include <boost/thread/thread.hpp>
21 #include <boost/algorithm/string/trim.hpp>
28 #include "toalib/km3_toa_lib.hpp"
32 #define SERVER_THREAD_POOL 2
33 #define TRIGGER_THREAD_POOL 8
34 #define MAX_TOA_SIZE 1048576
52 const std::string& port,\
53 const std::string&
name,\
54 const std::string&
server,\
55 const std::string& wisdom,\
56 const std::string& output,\
57 const std::string& raw,\
66 virtual void actionInit(
int length,
const char* buffer);
68 virtual void actionStart(
int length,
const char* buffer);
69 virtual void actionPause(
int length,
const char* buffer);
71 virtual void actionStop(
int length,
const char* buffer);
72 virtual void actionReset(
int length,
const char* buffer);
73 virtual void actionQuit(
int length,
const char* buffer);
virtual void actionReset(int length, const char *buffer)
boost::atomic< bool > exit_
static const JNET::JTag RC_AFILTER
void Send_toa_async(ToA_Packet packet)
virtual void actionInit(int length, const char *buffer)
virtual void actionRunning()
This method is repeatedly called when this client machine is in state Running and the clock interval ...
boost::shared_ptr< KM3NeT_Acoustic_Link > pLink
virtual void actionInput(int length, const char *buffer)
This method is called at ev_input.
boost::asio::io_service trigger_io_service_
std::map< std::size_t, pProbe > probes_
boost::asio::io_service::strand strand_
void Create_probes(std::vector< std::string > probes, std::size_t window)
boost::asio::io_service::work * server_work_
boost::thread_group trigger_threads_
Interface for logging messages.
JSharedPointer< JControlHost > server
message server
virtual void actionEnter()
Interface methods for actions corresponding to state transitions.
virtual void actionQuit(int length, const char *buffer)
virtual void actionConfigure(int length, const char *buffer)
virtual void actionExit()
const JNET::JTag & clientTag() const
std::vector< pLink > links_
virtual void actionStop(int length, const char *buffer)
virtual ~AcousticDataFilter()
static const int DEBUG_LEVEL
boost::atomic< bool > running_
General purpose message reporting.
AcousticDataFilter(const std::string &address, const std::string &port, const std::string &name, const std::string &server, const std::string &wisdom, const std::string &output, const std::string &raw, JLOGGER::JLogger *logger, const int level)
std::map< std::size_t, pDOM > doms_
void Accept_completed(pLink link, const boost::system::error_code &error)
boost::thread_group server_threads_
Control unit client base class.
boost::asio::ip::tcp::acceptor server_acceptor_
virtual void actionStart(int length, const char *buffer)
boost::asio::io_service server_io_service_
void Send_toa(ToA_Packet packet)
std::string debug_file_path_
virtual void actionContinue(int length, const char *buffer)
JMessageLogger logger
message logger
boost::asio::io_service::work * trigger_work_
void Create_DOMs(std::vector< std::string > doms, std::string &debug_file_path, std::size_t window, std::size_t overlap)
std::string toa_file_path_
std::pair< std::size_t, pProbe > probe_entry
std::pair< std::size_t, pDOM > dom_entry
virtual void actionPause(int length, const char *buffer)