mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 11:58:52 +00:00
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
This commit is contained in:
@@ -1448,7 +1448,7 @@ static void send_agent_login(struct ast_channel *chan, const char *agent)
|
||||
return;
|
||||
}
|
||||
|
||||
ast_channel_publish_cached_blob(chan, ast_channel_agent_login_type(), blob);
|
||||
ast_channel_publish_blob(chan, ast_channel_agent_login_type(), blob);
|
||||
}
|
||||
|
||||
static void send_agent_logoff(struct ast_channel *chan, const char *agent, long logintime)
|
||||
@@ -1464,7 +1464,7 @@ static void send_agent_logoff(struct ast_channel *chan, const char *agent, long
|
||||
return;
|
||||
}
|
||||
|
||||
ast_channel_publish_cached_blob(chan, ast_channel_agent_logoff_type(), blob);
|
||||
ast_channel_publish_blob(chan, ast_channel_agent_logoff_type(), blob);
|
||||
}
|
||||
|
||||
/*!
|
||||
|
@@ -783,7 +783,7 @@ int manager_confbridge_init(void)
|
||||
}
|
||||
|
||||
channel_state_router = stasis_message_router_create(
|
||||
ast_channel_topic_all_cached());
|
||||
ast_channel_topic_all());
|
||||
|
||||
if (!channel_state_router) {
|
||||
manager_confbridge_shutdown();
|
||||
|
Reference in New Issue
Block a user