> On April 10, 2014, 6:52 p.m., Mark Michelson wrote:
> > Well, this is really cool. I love reviews that mostly remove code in order 
> > to simplify something. Some concerns:
> > 
> > 1) Documentation wise, there is a mixture of nomenclature used for the 
> > subchannels of a local channel. You have settled on the terms "master" and 
> > "outbound" for the two. In other places, they are referred to as ";1" and 
> > ";2" since that's how they end up getting named, and in other places they 
> > are referred to as "owner" and "chan" since that's what they're called in 
> > the unreal pvt structure. I think that something needs to be settled on so 
> > we can be consistent in what we call things.
> > 
> > 2) Implementation wise, the biggest flaw I can spot is that the state of a 
> > bridge may change for the worse between when the optimization task is 
> > queued and when the optimization task actually executes. For instance, a 
> > third party may enter a bridge during that gap, resulting in a potentially 
> > bizarre channel arrangement afterwards.
> > 
> > 3) Also implementation wise, I notice that the "swap" optimizations are the 
> > only kind you attempt to do. Any particular reason you do not handle 
> > "merge" optimizations?

1) Agreed

2) I'll see if I can add some more protection to confirm sanity

3) Things will never be in a state where a merge actually makes sense to do


- Joshua


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3433/#review11554
-----------------------------------------------------------


On April 9, 2014, 7:49 p.m., Joshua Colp wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3433/
> -----------------------------------------------------------
> 
> (Updated April 9, 2014, 7:49 p.m.)
> 
> 
> Review request for Asterisk Developers, Matt Jordan, Mark Michelson, and 
> rmudgett.
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> This change removes Unreal/Local channel optimization from the core and 
> isolates it in a bridging technology implementation. The implementation 
> attempts to optimize when channels join a bridge using it, instead of 
> attempting to optimize constantly as frames pass. This review is not just for 
> the code itself but the approach in general. Is this something we'd like? Is 
> it viable?
> 
> Now the con...
> 
> Since this is implemented as a bridging technology and not as part of the 
> bridging core it can not optimize completely when multi-party bridges are 
> involved. If you have a chain in the middle that'll go anyway but no merging 
> of bridges will occur.
> 
> 
> Diffs
> -----
> 
>   /branches/12/main/core_unreal.c 411867 
>   /branches/12/main/core_local.c 411867 
>   /branches/12/main/bridge.c 411867 
>   /branches/12/include/asterisk/core_unreal.h 411867 
>   /branches/12/bridges/bridge_unreal.c PRE-CREATION 
> 
> Diff: https://reviewboard.asterisk.org/r/3433/diff/
> 
> 
> Testing
> -------
> 
> Since this has been an idea and side project I've only done some tests myself 
> with large numbers of Local channels in chains (100, 200, 300) and confirmed 
> that stuff works as expected.
> 
> 
> Thanks,
> 
> Joshua Colp
> 
>

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to