[svn-commits] kmoore: branch kmoore/channel-state-caching r380970 - /team/kmoore/channel-st...
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Wed Feb 6 11:06:53 CST 2013
Author: kmoore
Date: Wed Feb 6 11:06:52 2013
New Revision: 380970
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=380970
Log:
Make Stasis channel state messages use uniqueid instead of name
Modified:
team/kmoore/channel-state-caching/main/manager.c
team/kmoore/channel-state-caching/main/stasis.c
Modified: team/kmoore/channel-state-caching/main/manager.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/channel-state-caching/main/manager.c?view=diff&rev=380970&r1=380969&r2=380970
==============================================================================
--- team/kmoore/channel-state-caching/main/manager.c (original)
+++ team/kmoore/channel-state-caching/main/manager.c Wed Feb 6 11:06:52 2013
@@ -7463,15 +7463,15 @@
static int channel_state_hash_fn(const void *obj, const int flags)
{
const struct ast_channel_snapshot *data = obj;
- const char *name = (flags & OBJ_KEY) ? obj : data->name;
- return ast_str_case_hash(name);
+ const char *uniqueid = (flags & OBJ_KEY) ? obj : data->uniqueid;
+ return ast_str_case_hash(uniqueid);
}
static int channel_state_cmp_fn(void *obj, void *arg, int flags)
{
const struct ast_channel_snapshot *one = obj, *two = arg;
- const char *name = (flags & OBJ_KEY) ? arg : two->name;
- return !strcasecmp(one->name, name) ? CMP_MATCH | CMP_STOP : 0;
+ const char *uniqueid = (flags & OBJ_KEY) ? arg : two->uniqueid;
+ return !strcasecmp(one->uniqueid, uniqueid) ? CMP_MATCH | CMP_STOP : 0;
}
static void channel_snapshot_destroy(void *obj)
@@ -7498,7 +7498,7 @@
/* Lock the cache while replacing the snapshot for this channel. */
ao2_lock(channel_state_cache);
- old_snapshot = ao2_find(channel_state_cache, new_snapshot->name, find_flags);
+ old_snapshot = ao2_find(channel_state_cache, new_snapshot->uniqueid, find_flags);
/* Link in the new snapshot if available */
if (ao2_snapshot) {
@@ -7524,7 +7524,7 @@
manager_hangup(new_snapshot);
/* drop the cache for this channel */
ast_event_drop_cached(AST_EVENT_STASIS,
- AST_EVENT_IE_STASIS_MESSAGE_KEY, AST_EVENT_IE_PLTYPE_STR, new_snapshot->name,
+ AST_EVENT_IE_STASIS_MESSAGE_KEY, AST_EVENT_IE_PLTYPE_STR, new_snapshot->uniqueid,
AST_EVENT_IE_STASIS_MESSAGE_TYPE, AST_EVENT_IE_PLTYPE_UINT, AST_STASIS_TYPE_CHANNEL,
AST_EVENT_IE_END);
}
Modified: team/kmoore/channel-state-caching/main/stasis.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/channel-state-caching/main/stasis.c?view=diff&rev=380970&r1=380969&r2=380970
==============================================================================
--- team/kmoore/channel-state-caching/main/stasis.c (original)
+++ team/kmoore/channel-state-caching/main/stasis.c Wed Feb 6 11:06:52 2013
@@ -48,7 +48,7 @@
return -1;
}
newchannel_event = ast_event_new(AST_EVENT_STASIS,
- AST_EVENT_IE_STASIS_MESSAGE_KEY, AST_EVENT_IE_PLTYPE_STR, ast_channel_name(chan),
+ AST_EVENT_IE_STASIS_MESSAGE_KEY, AST_EVENT_IE_PLTYPE_STR, snapshot->uniqueid,
AST_EVENT_IE_STASIS_MESSAGE_TYPE, AST_EVENT_IE_PLTYPE_UINT, AST_STASIS_TYPE_CHANNEL,
AST_EVENT_IE_STASIS_MESSAGE, AST_EVENT_IE_PLTYPE_RAW_LOCAL, snapshot, sizeof(*snapshot),
ast_channel_snapshot_copy, ast_channel_snapshot_cmp, ast_channel_snapshot_destroy,
More information about the svn-commits
mailing list