Skip to content
Snippets Groups Projects
  • Joshua Colp's avatar
    d0ccbb33
    stasis: Use an implementation specific channel snapshot cache. · d0ccbb33
    Joshua Colp authored
    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
    d0ccbb33
    History
    stasis: Use an implementation specific channel snapshot cache.
    Joshua Colp authored
    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