[Asterisk-code-review] stasis: Use an implementation specific channel snapshot cache. (asterisk[master])

Joshua Colp asteriskteam at digium.com
Mon Nov 5 05:21:40 CST 2018


Hello Kevin Harwell, Jenkins2, Corey Farrell, 

I'd like you to reexamine a change. Please visit

    https://gerrit.asterisk.org/10478

to look at the new patch set (#8).

Change subject: stasis: Use an implementation specific channel snapshot cache.
......................................................................

stasis: Use an implementation specific channel snapshot cache.

Channels no longer use the Stasis cache for channel snapshots. Instead
they are stored in a hash table in stasis_channels which reduces the
number of Stasis messages created and allows better storage.

As a result the following APIs are no longer available since the stasis
cache is no longer used:
ast_channel_topic_cached()
ast_channel_topic_all_cached()

The ast_channel_cache_all() and ast_channel_cache_by_name() functions
now return an ao2_container of ast_channel_snapshots rather than
a container of stasis_messages therefore you can't (and don't need
to) call stasis_cache functions on it.

The ast_channel_topic_all() function now returns a normal topic not
a cached one so you can't use stasis cache functions on it either.

The ast_channel_snapshot_type() stasis message now has the
ast_channel_snapshot_update structure as it's data. It contains the
last snapshot and the new one.

ast_channel_snapshot_get_latest() still returns the latest snapshot.

The latest snapshot is now stored on the channel itself to eliminate
cache hits when Stasis messages that have the snapshot as a payload
are created.

ASTERISK-28102

Change-Id: I9334febff60a82d7c39703e49059fa3a68825786
---
M CHANGES
M UPGRADE.txt
M apps/app_agent_pool.c
M apps/confbridge/confbridge_manager.c
M channels/chan_pjsip.c
M channels/pjsip/cli_commands.c
M include/asterisk/channel.h
M include/asterisk/stasis_channels.h
M main/aoc.c
M main/app.c
M main/bridge.c
M main/cdr.c
M main/cel.c
M main/channel.c
M main/channel_internal_api.c
M main/cli.c
M main/endpoints.c
M main/manager.c
M main/manager_bridges.c
M main/manager_channels.c
M main/stasis_channels.c
M res/ari/resource_channels.c
M res/res_agi.c
M res/res_chan_stats.c
M res/stasis/app.c
M res/stasis/control.c
M tests/test_cel.c
M tests/test_stasis_endpoints.c
28 files changed, 456 insertions(+), 528 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/78/10478/8
-- 
To view, visit https://gerrit.asterisk.org/10478
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9334febff60a82d7c39703e49059fa3a68825786
Gerrit-Change-Number: 10478
Gerrit-PatchSet: 8
Gerrit-Owner: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Corey Farrell <git at cfware.com>
Gerrit-Reviewer: Jenkins2 (1000185)
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Kevin Harwell <kharwell at digium.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20181105/13cadd69/attachment.html>


More information about the asterisk-code-review mailing list