[asterisk-dev] [Code Review] 3281: stasis cache: Enhance to keep track of an item from different entities.

rmudgett reviewboard at asterisk.org
Sat Mar 1 19:07:23 CST 2014


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

Review request for Asterisk Developers.


Bugs: ASTERISK-23204
    https://issues.asterisk.org/jira/browse/ASTERISK-23204


Repository: Asterisk


Description
-------

A stasis cache entry now contains more than a single message/snapshot.  It contains messages/snapshots for the internal entity as well as any external entities that post to the cached item.  In addition callbacks can be supplied when the cache is created to compute and post the aggregate message/snapshot representing all entities stored in the cache entry.

* All stasis messages now have an eid to indicate what entity posted it.

* The stasis cache enhancements allow device state to cache and aggregate the device states from internal and external entities in a single operation.  The cached aggregate device state is available immediately after it is posted to the stasis bus.  This improves performance by eliminating a cache dump and associated ao2 container traversals to calculate the aggregate state.


Diffs
-----

  /trunk/tests/test_devicestate.c 409306 
  /trunk/main/stasis_message.c 409306 
  /trunk/main/stasis_cache.c 409306 
  /trunk/main/devicestate.c 409306 
  /trunk/main/app.c 409306 
  /trunk/include/asterisk/stasis.h 409306 
  /trunk/include/asterisk/devicestate.h 409306 

Diff: https://reviewboard.asterisk.org/r/3281/diff/


Testing
-------

All unit tests pass including the stasis and device state tests.

The device state unit test had to be changed to get the aggregate state out of the new cache location.  Fortunately, the normal users of the device state aggregate information subscribe to the events and don't get the aggregate device state out of the cache.


Thanks,

rmudgett

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140302/5a606414/attachment.html>


More information about the asterisk-dev mailing list