Open ruoruoniao opened 5 months ago
Or this behavior is normal? I should confirm whether I should find why...
OK, I found there is a c api in cyclone called dds_wait_for_acks
.
So if there is a plan to support wait_for_acknowledgments
in org::eclipse::cyclonedds::pub::AnyDataWriterDelegate
? Now it is:
void
AnyDataWriterDelegate::wait_for_acknowledgments(
const dds::core::Duration& timeout)
{
ISOCPP_THROW_EXCEPTION(ISOCPP_UNSUPPORTED_ERROR, "Function not currently supported");
(void)timeout;
}
So if there is a plan to support
wait_for_acknowledgments
inorg::eclipse::cyclonedds::pub::AnyDataWriterDelegate
Yes, it just flew under the radar (the C++ binding doesn't get as much love as the C bit, I am afraid). I imagine something as simple as:
int ddsc_ret = dds_wait_for_acks (ddsc_entity, org::eclipse::cyclonedds::core::convertDuration(timeout));
ISOCPP_DDSC_RESULT_CHECK_AND_THROW(ddsc_ret, "dds_wait_for_acks failed.");
should do the trick.
Question
Operate Step: Publisher and subscriber run in the same machine.
Expect:
Now
DataWriter
send 442 messages beforeDataReader
read any sample, then crash byWrite Timeout
aftermax_blocking_time
.(×)Question
DataWriter
should waiting forDataReader
consume (on_data_available
function end) before send next message even though withoutResourceLimits
. Is that right?DataWriter
should wait for enabled then send next message, it shouldn't send so many messages before dataReader enable.