ChimeraTK-DeviceAccess  03.18.00
RebotProtocol1.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Deutsches Elektronen-Synchrotron DESY, MSK, ChimeraTK Project <chimeratk-support@desy.de>
2 // SPDX-License-Identifier: LGPL-3.0-or-later
3 #pragma once
4 
5 #include "RebotProtocol0.h"
6 
7 #include <chrono>
8 
9 namespace ChimeraTK {
10 
11  struct RebotProtocol1 : public RebotProtocol0 {
12  explicit RebotProtocol1(boost::shared_ptr<Rebot::Connection>& tcpCommunicator);
13  virtual ~RebotProtocol1(){};
14 
15  virtual void read(uint32_t addressInBytes, int32_t* data, size_t sizeInBytes) override;
16  virtual void write(uint32_t addressInBytes, int32_t const* data, size_t sizeInBytes) override;
17  virtual void sendHeartbeat() override;
18 
24  std::chrono::time_point<std::chrono::steady_clock> _lastSendTime;
25  };
26 
27 } // namespace ChimeraTK
ChimeraTK::RebotProtocol0
Definition: RebotProtocol0.h:16
ChimeraTK::RebotProtocol1::_lastSendTime
std::chrono::time_point< std::chrono::steady_clock > _lastSendTime
No need to make it atomic (time_points cannot be because they are not trivially copyable).
Definition: RebotProtocol1.h:24
ChimeraTK::RebotProtocol1::~RebotProtocol1
virtual ~RebotProtocol1()
Definition: RebotProtocol1.h:13
RebotProtocol0.h
ChimeraTK::RebotProtocol1::write
virtual void write(uint32_t addressInBytes, int32_t const *data, size_t sizeInBytes) override
Definition: RebotProtocol1.cc:30
ChimeraTK::RebotProtocol1::RebotProtocol1
RebotProtocol1(boost::shared_ptr< Rebot::Connection > &tcpCommunicator)
Definition: RebotProtocol1.cc:12
ChimeraTK::RebotProtocol1::read
virtual void read(uint32_t addressInBytes, int32_t *data, size_t sizeInBytes) override
Definition: RebotProtocol1.cc:19
ChimeraTK::RebotProtocol1::sendHeartbeat
virtual void sendHeartbeat() override
Definition: RebotProtocol1.cc:47
ChimeraTK
Definition: DummyBackend.h:16
ChimeraTK::RebotProtocol1
Definition: RebotProtocol1.h:11