37 #ifndef _LibMultiSense_details_query_hh 38 #define _LibMultiSense_details_query_hh 43 namespace multisense {
77 const_cast<T*
>(&message)->
serialize(stream, version);
91 const double& timeout,
97 while(attempts-- > 0) {
102 if (
false == ack.
wait(status, timeout))
110 }
catch (
const std::exception& e) {
122 const double& timeout,
143 if (
false == commandAck.
wait(commandStatus, 0.0))
156 return commandStatus;
164 }
catch (
const std::exception& e) {
172 #endif // _LibMultiSense_details_publish_hh
static CRL_CONSTEXPR uint8_t COMBINED_HEADER_LENGTH
void serialize(Stream &stream, const T &t)
void seek(std::size_t idx)
static CRL_CONSTEXPR Status Status_TimedOut
static CRL_CONSTEXPR Status Status_Ok
Status waitAck(const T &msg, wire::IdType id=MSG_ID(T::ID), const double &timeout=DEFAULT_ACK_TIMEOUT(), int32_t attempts=DEFAULT_ACK_ATTEMPTS)
#define CRL_DEBUG(fmt,...)
bool wait(Status &status, const double &timeout)
void publish(const T &message)
static CRL_CONSTEXPR Status Status_Exception
Status waitData(const T &command, U &data, const double &timeout=DEFAULT_ACK_TIMEOUT(), int32_t attempts=DEFAULT_ACK_ATTEMPTS)