diff options
author | Fabrice Bellet <fabrice@bellet.info> | 2017-06-27 11:01:14 +0200 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.com> | 2017-09-05 15:01:02 -0400 |
commit | 6fe64fdbc53ab87dffd79972f492665cff14c0a0 (patch) | |
tree | ec2c97bb761142e30eb56f710f120e78b44b54d2 /ChangeLog | |
parent | 36f306f4a95f1c2b3e9c584b5a645a78e231c020 (diff) | |
download | libnice-6fe64fdbc53ab87dffd79972f492665cff14c0a0.tar.gz |
conncheck: update the state of triggered checks pairs
With this patch, we fix an ambiguity of some parts of the spec, when
the document refers to in-progress pairs, that also concern pairs in
the triggered checks list.
The first cast is in section 7.1.2.5, "Updating the Nominated Flag",
when the in-progress pair will be nominated on response arrival. This is
handled in function priv_mark_pair_nominated(), when a pair is put to
the triggered check list in reaction to a matching inbound stun request.
Such a pair in priv_mark_pair_nominated() will _always_ be in the
triggered check list, from the previously called function
priv_schedule_triggered_check().
The second case is in section 8.1.2, "Updating State" when an in-progress
pair stops its retransmission when another pair of higher priority is
already nominated. This is handled by function priv_prune_pending_checks().
Until now, pairs enqueued in the triggered check list move transiently
to state waiting, according to 7.2.1.4. But this state causes wrong
decisions in the two previous cases, because such pairs should in fact
rather be considered "like in-progress", to avoid discarding them
inadvertantly.
This patch update the state of the triggered check list
pairs to in-progress. It allows to remove exception handling cited
above: the code is a bit more simple, and allows some refactoring
in priv_mark_pair_nominated() between RFC and compatibility modes.
Differential Revision: https://phabricator.freedesktop.org/D1762
Diffstat (limited to 'ChangeLog')
0 files changed, 0 insertions, 0 deletions