mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2026-06-07 10:58:40 +02:00
added udp functions to matterhornserver
This commit is contained in:
+1
-1
@@ -32,7 +32,7 @@ if(NOT CMAKE_USE_PTHREADS_INIT)
|
||||
message(FATAL_ERROR "A POSIX threads (pthread) implementation is required, but was not found.")
|
||||
endif()
|
||||
|
||||
set(SLS_LOG_MAX_REPORTING_LEVEL sls::TLogLevel::logINFO CACHE STRING "set logging level")
|
||||
option(SLS_LOG_MAX_REPORTING_LEVEL "Set the maximum logging level for the project" "sls::TLogLevel::logINFO")
|
||||
|
||||
option(SLS_USE_SYSTEM_ZMQ "Use system installed libzmq" OFF)
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
|
||||
|
||||
# TODO: should be different executable if not simulators on !!
|
||||
add_executable(matterhornDetectorServer_virtual
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/MatterhornApp.cpp
|
||||
|
||||
@@ -52,6 +52,16 @@ template <typename DerivedServer> class BaseMatterhornServer {
|
||||
|
||||
ReturnCode get_source_udp_mac(ServerInterface &socket);
|
||||
|
||||
ReturnCode get_source_udp_ip(ServerInterface &socket);
|
||||
|
||||
ReturnCode get_source_udp_port(ServerInterface &socket);
|
||||
|
||||
ReturnCode get_destination_udp_mac(ServerInterface &socket);
|
||||
|
||||
ReturnCode get_destination_udp_ip(ServerInterface &socket);
|
||||
|
||||
ReturnCode get_destination_udp_port(ServerInterface &socket);
|
||||
|
||||
protected:
|
||||
size_t num_udp_interfaces() const;
|
||||
|
||||
@@ -89,8 +99,25 @@ template <typename DerivedServer> class BaseMatterhornServer {
|
||||
[this](ServerInterface &si) {
|
||||
return static_cast<DerivedServer *>(this)->get_update_mode(si);
|
||||
}},
|
||||
{detFuncs::F_GET_SOURCE_UDP_MAC, [this](ServerInterface &si) {
|
||||
{detFuncs::F_GET_SOURCE_UDP_MAC,
|
||||
[this](ServerInterface &si) {
|
||||
return this->get_source_udp_mac(si);
|
||||
}},
|
||||
|
||||
{detFuncs::F_GET_SOURCE_UDP_IP,
|
||||
[this](ServerInterface &si) {
|
||||
return this->get_source_udp_ip(si);
|
||||
}},
|
||||
{detFuncs::F_GET_DEST_UDP_MAC,
|
||||
[this](ServerInterface &si) {
|
||||
return this->get_destination_udp_mac(si);
|
||||
}},
|
||||
{detFuncs::F_GET_DEST_UDP_IP,
|
||||
[this](ServerInterface &si) {
|
||||
return this->get_destination_udp_ip(si);
|
||||
}},
|
||||
{detFuncs::F_GET_DEST_UDP_PORT, [this](ServerInterface &si) {
|
||||
return this->get_destination_udp_port(si);
|
||||
}}};
|
||||
};
|
||||
|
||||
@@ -149,8 +176,38 @@ ReturnCode BaseMatterhornServer<DerivedServer>::get_num_udp_interfaces(
|
||||
template <typename DerivedServer>
|
||||
ReturnCode BaseMatterhornServer<DerivedServer>::get_source_udp_mac(
|
||||
ServerInterface &socket) {
|
||||
uint64_t srcMac = udpDetails[0].srcmac;
|
||||
return static_cast<ReturnCode>(socket.sendResult(srcMac));
|
||||
return static_cast<ReturnCode>(socket.sendResult(udpDetails[0].srcmac));
|
||||
}
|
||||
|
||||
template <typename DerivedServer>
|
||||
ReturnCode BaseMatterhornServer<DerivedServer>::get_source_udp_ip(
|
||||
ServerInterface &socket) {
|
||||
return static_cast<ReturnCode>(socket.sendResult(udpDetails[0].srcip));
|
||||
}
|
||||
|
||||
template <typename DerivedServer>
|
||||
ReturnCode BaseMatterhornServer<DerivedServer>::get_source_udp_port(
|
||||
ServerInterface &socket) {
|
||||
return static_cast<ReturnCode>(
|
||||
socket.sendResult(static_cast<int>(udpDetails[0].srcport)));
|
||||
}
|
||||
|
||||
template <typename DerivedServer>
|
||||
ReturnCode BaseMatterhornServer<DerivedServer>::get_destination_udp_mac(
|
||||
ServerInterface &socket) {
|
||||
return static_cast<ReturnCode>(socket.sendResult(udpDetails[0].dstmac));
|
||||
}
|
||||
|
||||
template <typename DerivedServer>
|
||||
ReturnCode BaseMatterhornServer<DerivedServer>::get_destination_udp_ip(
|
||||
ServerInterface &socket) {
|
||||
return static_cast<ReturnCode>(socket.sendResult(udpDetails[0].dstip));
|
||||
}
|
||||
|
||||
template <typename DerivedServer>
|
||||
ReturnCode BaseMatterhornServer<DerivedServer>::get_destination_udp_port(
|
||||
ServerInterface &socket) {
|
||||
return static_cast<ReturnCode>(socket.sendResult(udpDetails[0].dstport));
|
||||
};
|
||||
|
||||
} // namespace sls
|
||||
@@ -1,13 +1,12 @@
|
||||
#pragma once
|
||||
#include "TCPInterface.h"
|
||||
#include "BaseMatterhornServer.h"
|
||||
#include "TCPInterface.h"
|
||||
#include "sls/sls_detector_defs.h"
|
||||
#include <array>
|
||||
#include <memory>
|
||||
|
||||
namespace sls {
|
||||
|
||||
|
||||
class MatterhornServer : public BaseMatterhornServer<MatterhornServer> {
|
||||
|
||||
public:
|
||||
@@ -27,6 +26,4 @@ class MatterhornServer : public BaseMatterhornServer<MatterhornServer> {
|
||||
ReturnCode get_update_mode(ServerInterface &socket);
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace sls
|
||||
@@ -147,7 +147,6 @@ std::string Module::getReceiverSoftwareVersion() const {
|
||||
// static function
|
||||
slsDetectorDefs::detectorType
|
||||
Module::getTypeFromDetector(const std::string &hostname, uint16_t cport) {
|
||||
LOG(logDEBUG1) << "Getting Module type ";
|
||||
ClientSocket socket("Detector", hostname, cport);
|
||||
socket.Send(F_GET_DETECTOR_TYPE);
|
||||
socket.setFnum(F_GET_DETECTOR_TYPE);
|
||||
|
||||
Reference in New Issue
Block a user