[asterisk-scf-dev] CR-ASTSCF-80: Added support for removing state by items rather than just string ids to allow visitors in remove...

Crucible - All Open Reviews crucible at code.asterisk.org
Tue Apr 19 19:34:39 CDT 2011


Ken Hunt![AUTH][1], Kevin P. Fleming, Mark Michelson, Brent Eagles, Fred
Anderson, David M. Lee, Joshua Colp.

The Routing Service was updated for state replication, and this was based off
the async routing branches that were reviewed previously.


Some things to note:


1. The two routing operations that are replicated (routeSession() and
connectBridgedSessionsWithDestination()) are relatively short-lived. We use
replication to cache intermediate values obtained during those operations. In
the event of a failover, the caller (for example, the SIP Session Gateway)
will still need to retry the initial operation. But the standby Routing
Service will have a cache that contains intermediate values, and it will use
these to start the operation's state machine as far along as it has state
obtained to support.


2. The replication of the operations is achieved by attaching listeners to the
operation's state machines. This keeps the state handling code for the
operations simple and easy to follow.


3. Tests are not yet in place to verify that replication is sound, although I
have walked through quite a bit of the code in the debugger.


4. The WorkQueue will use the newer implementation at some point. I would
waste too much time re-reviewing the implementation here.







**Under Review**

   [1]: https://code.asterisk.org/code/static/lho8pq/images/icn_author.gif

URL: https://code.asterisk.org/code/cru/CR-ASTSCF-80



More information about the asterisk-scf-dev mailing list