Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

check_periodic should waiting while as less one pair in progress #39

Open
marakew opened this issue Jan 30, 2021 · 3 comments
Open

check_periodic should waiting while as less one pair in progress #39

marakew opened this issue Jan 30, 2021 · 3 comments

Comments

@marakew
Copy link

marakew commented Jan 30, 2021

while test i saw when check_periodic run check_start while prevision paring still in progress
this can produce incorrect nomination

fix like this

    def check_periodic(self) -> bool:
 +       for pair in self._check_list:
 +          if pair.state == CandidatePair.State.IN_PROGRESS:
 +              return True

        # find the highest-priority pair that is in the waiting state
@jlaine
Copy link
Collaborator

jlaine commented Feb 6, 2021

I don't think this is correct. According to the RFC, the periodic timer triggers new checks whenever it fires, I don't see anything saying the checks must be performed one after another. This would make the process very slow when you have many candidate pairs to test.

Am I reading the RFC wrong?

@jlaine
Copy link
Collaborator

jlaine commented Feb 13, 2021

Hello?

@marakew
Copy link
Author

marakew commented Feb 13, 2021

I was test on windows with 4 candidates
rfc didnt precise about this case
but rfc says about in order send test

aioice uses logic from pjproject ice, where have case in periodic when candidate in progress, just resend transaction

In many implementation of ice, periodic timer related with transaction stun timer

but it will be interesting ask to authors of ice rfc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants