/// <summary> /// Sends a value to the specified group. /// </summary> /// <param name="groupNames">The names of the groups.</param> /// <param name="value">The value to send.</param> /// <param name="excludeConnectionIds">The list of connection ids to exclude</param> /// <returns>A task that represents when send is complete.</returns> public Task Send(IList <string> groupNames, object value, params string[] excludeConnectionIds) { if (groupNames == null) { throw new ArgumentNullException("groupNames"); } var message = new ConnectionMessage(groupNames.Select(groupName => CreateQualifiedName(groupName)).ToList(), value, PrefixHelper.GetPrefixedConnectionIds(excludeConnectionIds)); return(_connection.Send(message)); }
/// <summary> /// Broadcasts a value to all connections, excluding the connection ids specified. /// </summary> /// <param name="connection">The connection</param> /// <param name="value">The value to broadcast.</param> /// <param name="excludeConnectionIds">The list of connection ids to exclude</param> /// <returns>A task that represents when the broadcast is complete.</returns> public static Task Broadcast(this IConnection connection, object value, params string[] excludeConnectionIds) { if (connection == null) { throw new ArgumentNullException("connection"); } var message = new ConnectionMessage(connection.DefaultSignal, value, PrefixHelper.GetPrefixedConnectionIds(excludeConnectionIds)); return(connection.Send(message)); }
/// <summary> /// Sends a value to the specified group. /// </summary> /// <param name="groupName">The name of the group.</param> /// <param name="value">The value to send.</param> /// <param name="excludeConnectionIds">The list of connection ids to exclude</param> /// <returns>A task that represents when send is complete.</returns> public Task Send(string groupName, object value, params string[] excludeConnectionIds) { if (String.IsNullOrEmpty(groupName)) { throw new ArgumentException((Resources.Error_ArgumentNullOrEmpty), "groupName"); } var qualifiedName = CreateQualifiedName(groupName); var message = new ConnectionMessage(qualifiedName, value, PrefixHelper.GetPrefixedConnectionIds(excludeConnectionIds)); return(_connection.Send(message)); }
/// <summary> /// Sends a message to all connections subscribed to the specified signal. An example of signal may be a /// specific connection id. /// </summary> /// <param name="connection">The connection</param> /// <param name="connectionIds">The connection ids to send to.</param> /// <param name="value">The value to publish.</param> /// <returns>A task that represents when the broadcast is complete.</returns> public static Task Send(this IConnection connection, IList <string> connectionIds, object value) { if (connection == null) { throw new ArgumentNullException("connection"); } if (connectionIds == null) { throw new ArgumentNullException("connectionIds"); } var message = new ConnectionMessage(connectionIds.Select(c => PrefixHelper.GetConnectionId(c)).ToList(), value); return(connection.Send(message)); }
/// <summary> /// Sends a message to all connections subscribed to the specified signal. An example of signal may be a /// specific connection id. /// </summary> /// <param name="connection">The connection</param> /// <param name="connectionId">The connectionId to send to.</param> /// <param name="value">The value to publish.</param> /// <returns>A task that represents when the broadcast is complete.</returns> public static Task Send(this IConnection connection, string connectionId, object value) { if (connection == null) { throw new ArgumentNullException("connection"); } if (String.IsNullOrEmpty(connectionId)) { throw new ArgumentException(Resources.Error_ArgumentNullOrEmpty, "connectionId"); } var message = new ConnectionMessage(PrefixHelper.GetConnectionId(connectionId), value); return(connection.Send(message)); }