/// <summary> /// Reply to every other clients but the sender /// </summary> /// <param name="signalX"></param> /// <param name="excludedUserId"></param> /// <param name="name"></param> /// <param name="data"></param> /// <param name="groupName"></param> public static void RespondToOthers(this SignalX signalX, string excludedUserId, string name, object data, string groupName = null, string correlationId = null) { if (!signalX.AllowToSend(name, data, correlationId)) { return; } if (signalX.Settings.StartCountingOutGoingMessages) { Interlocked.Increment(ref signalX.Settings.OutGoingCounter); } signalX.Receiver.ReceiveAsOther(correlationId, name, data, excludedUserId, groupName); }
/// <summary> /// Reply to a specific client /// </summary> /// <param name="signalX"></param> /// <param name="user"></param> /// <param name="name"></param> /// <param name="data"></param> public static void RespondToUser(this SignalX signalX, string user, string name, object data, string correlationId = null) { correlationId = correlationId ?? Guid.NewGuid().ToString(); if (!signalX.AllowToSend(name, data, correlationId)) { return; } if (signalX.Settings.StartCountingOutGoingMessages) { Interlocked.Increment(ref signalX.Settings.OutGoingCounter); } signalX.Receiver.Receive(user, name, data, correlationId); }