[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