Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }