Closed vodik closed 6 years ago
Merging #74 into master will decrease coverage by
0.73%
. The diff coverage is80.35%
.
@@ Coverage Diff @@
## master #74 +/- ##
==========================================
- Coverage 70.48% 69.74% -0.74%
==========================================
Files 15 15
Lines 1484 1494 +10
Branches 263 262 -1
==========================================
- Hits 1046 1042 -4
- Misses 333 342 +9
- Partials 105 110 +5
Impacted Files | Coverage Δ | |
---|---|---|
aiosip/dialplan.py | 60% <ø> (-26.67%) |
:arrow_down: |
aiosip/peers.py | 68.29% <100%> (+1.27%) |
:arrow_up: |
aiosip/dialog.py | 74.76% <100%> (-1.08%) |
:arrow_down: |
aiosip/transaction.py | 61.71% <100%> (-0.36%) |
:arrow_down: |
aiosip/application.py | 70.28% <79.24%> (+3.24%) |
:arrow_up: |
aiosip/utils.py | 64.1% <0%> (-5.13%) |
:arrow_down: |
... and 1 more |
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 83f986a...735fa28. Read the comment docs.
It's OK for me.
Even though the test code got more complicated (for now), its also a net code reduction!
Merging so I can get the last big thing done - INVITE
Putting this up for feedback. I know you guys have been kinda busy, so take your time, still a few things left to do:
The PR removes the dialog router. I plan to move everything to using an iterator based API.
In order to do this, I created a new Request class to represent a new potential dialog. This now fed to the callbacks registered in the dialplan, and give them room to either reject or accept traffic. Should it be accepted, a Dialog is returned.
This returned dialog object should now behave exactly like the client side dialog, meaning future messages on that dialog should be read out by iterating (enabling re-REGISTER support, for example).
This breaks two features, authentication (can be retrofitted in, just haven't yet), and proxying.
Proxying will probably need a completely new implementation that's built around coroutines and iterators instead of routing hooks.