Files
Readarr/src/Microsoft.AspNet.SignalR.Core/Transports/TransportConnectionExtensions.cs
2013-11-21 21:26:57 -08:00

35 lines
1.2 KiB
C#

// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information.
using System.Threading.Tasks;
using Microsoft.AspNet.SignalR.Infrastructure;
using Microsoft.AspNet.SignalR.Messaging;
namespace Microsoft.AspNet.SignalR.Transports
{
internal static class TransportConnectionExtensions
{
internal static Task Close(this ITransportConnection connection, string connectionId)
{
return SendCommand(connection, connectionId, CommandType.Disconnect);
}
internal static Task Abort(this ITransportConnection connection, string connectionId)
{
return SendCommand(connection, connectionId, CommandType.Abort);
}
private static Task SendCommand(ITransportConnection connection, string connectionId, CommandType commandType)
{
var command = new Command
{
CommandType = commandType
};
var message = new ConnectionMessage(PrefixHelper.GetConnectionId(connectionId),
command);
return connection.Send(message);
}
}
}