cyclonedds/docs/manual
Erik Boasson 63b1a7179b Change ACKNACK policy to be less aggressive
Overly aggressive sending of ACKNACKs eats bandwidth and causes
unnecessary retransmits and lowers performance; but overly timid sending
of them also reduces performance.  This commit reduces the
aggressiveness.

* It keeps more careful track of what ACKNACK (or NACKFRAG) was last
  sent and when, suppressing ACKs that don't provide new information for
  a few milliseconds and suppressing NACKs for the NackDelay
  setting.  (The setting was there all long, but it didn't honor it when
  the writer asked for a response.)

* It ignores the NackDelay when all that was requested has arrived, or
  when it receives a directed heartbeat from a Cyclone peer.  The latter
  is taken as an indication that no more is following, and allows the
  recipient to ask far arbitrary amounts of data and rely on the sender
  to limit the retransmit to what seems reasonable.  (For NACKFRAG one
  can do it in the recipient, but for ACKNACK one cannot, and so one
  might as well do it at the sender always.)

* Sufficient state is maintained in the match object for the ACKNACK
  generator to decide whether or not to send an ACKNACK following the
  rules, and it may decide to send just an ACK even though there is data
  missing, or nothing at all.

* If HEARTBEAT processing requires an immediate response, the response
  message is generated by the receive thread, but still queued for
  transmission.  If a delayed response is required, it schedules the
  ACKNACK event.

Signed-off-by: Erik Boasson <eb@ilities.com>
2020-07-06 11:40:56 +02:00
..
_static Update security documentation 2020-03-03 16:51:16 +01:00
GettingStartedGuide Fix some typos in files: 2020-04-28 18:44:54 +02:00
config.rst Fix some typos in files: 2020-04-28 18:44:54 +02:00
ddsc.rst Generate documentation using the FindSphinx.cmake module 2019-07-31 20:12:11 +02:00
index.rst Update security documentation 2020-03-03 16:51:16 +01:00
options.md Change ACKNACK policy to be less aggressive 2020-07-06 11:40:56 +02:00
security.rst Code formatting fixes and clean-up authentication plugin (#439) 2020-03-18 10:01:20 +01:00