1 #include "Ctp3DimInfoFloat.h"
4 using namespace std::chrono;
8 : DimInfo((name +
"/" + group).data(), -1), _group(group), _zmqsub(sub) {
12 _logger = spdlog::get(
"console");
26 std::chrono::system_clock::now().time_since_epoch() /
27 std::chrono::milliseconds(1);
28 _logger->trace(
"[{}] service {} val={} time={}", getName(), getSize(),
32 "Trying to send name={} val={}, but no zmq publisher set !!! ",
33 getName(), getFloat());
38 zmsg_t *msg_out = zmsg_new();
39 zmsg_addstr(msg_out,
_group.data());
40 std::string json =
"{ \"type\" : \"";
43 json +=
" \"data\" : {";
44 json +=
"\"name\" : \"";
46 json +=
"\" , \"val\" : ";
47 json += std::to_string(getFloat());
48 json +=
", \"time\" : ";
49 json += std::to_string(t);
55 _logger->info(
"{} {} ", json, getFloat());
56 zmsg_addstr(msg_out, json.data());
57 zmsg_send(&msg_out, (
void *)
_zmqsub);
58 zmsg_destroy(&msg_out);
virtual ~Ctp3DimInfoFloat()
Ctp3DimInfoFloat(std::string name="tpc/MONBUSY", std::string group="monbusy", zsock_t *sub=0)
std::shared_ptr< spdlog::logger > _logger
Pointer to spd logger.
std::string _group
groupname
virtual void infoHandler() final
zsock_t * _zmqsub
Pointer to global zmq publisher.