aioice icon indicating copy to clipboard operation
aioice copied to clipboard

wip: feat: implementing trickle ice

Open rprata opened this issue 2 years ago • 7 comments

wip

rprata avatar Apr 22 '22 01:04 rprata

The CI errors look specific to your branch, I've re-run the tests on the main branch and I'm not getting errors. see https://github.com/jlaine/aioice/actions/runs/2205560373

I have to admit I don't see where this code is going. I was expecting something like gather() becoming an async iterator. Also the "hard" changes are going to concern candidate pairing: you can no longer count on having all your local candidates before you start adding remote candidates.

jlaine avatar Apr 22 '22 03:04 jlaine

The CI errors look specific to your branch, I've re-run the tests on the main branch and I'm not getting errors. see https://github.com/jlaine/aioice/actions/runs/2205560373

Sorry, I made something wrong in my local environment.

I have to admit I don't see where this code is going. I was expecting something like gather() becoming an async iterator. Also the "hard" changes are going to concern candidate pairing: you can no longer count on having all your local candidates before you start adding remote candidates.

I thought at that moment refactor the function get_component_candidates and then find a way to use the gather for each element in local candidates step can be called concurrently and provide an intermediate local candidates list ASAP to send offer . Do you agree or you see another point?

rprata avatar Apr 22 '22 13:04 rprata

I still think you probably want an async iterator at the end of the day, so that we can yield the candidates as we collect them. That way API users can do:

async for candidate in conn.gather():
    do_something(candidate)

Obviously feel free to suggest a different API! I think taking a look at what other implementations are doing might be of value too before diving into the nitty-gritty work.

jlaine avatar Apr 23 '22 13:04 jlaine

Codecov Report

Merging #56 (be6fd70) into main (f08956b) will not change coverage. The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #56   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            8         8           
  Lines         1184      1201   +17     
=========================================
+ Hits          1184      1201   +17     
Impacted Files Coverage Δ
src/aioice/ice.py 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update f08956b...be6fd70. Read the comment docs.

codecov[bot] avatar Apr 23 '22 13:04 codecov[bot]