Create project files

This commit is contained in:
Dmitri Shimanski
2025-03-29 02:34:08 +03:00
commit abab2be4f4
32 changed files with 1057 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
using System.Net.WebSockets;
using Microsoft.AspNetCore.Http;
namespace yawaflua.WebSockets.Models.Interfaces;
public interface IWebSocketClient
{
public Guid Id { get; }
public string Path { get; }
public ConnectionInfo? ConnectionInfo { get; }
public IDictionary<object, object>? Items { get; set; }
public HttpRequest? HttpRequest { get; }
internal WebSocket webSocket { get; }
public Task Abort();
}

View File

@@ -0,0 +1,9 @@
using Microsoft.AspNetCore.Http;
using yawaflua.WebSockets.Core;
namespace yawaflua.WebSockets.Models.Interfaces;
internal interface IWebSocketController
{
Task OnMessageAsync(WebSocket webSocket, HttpContext httpContext);
}

View File

@@ -0,0 +1,11 @@
using System.Linq.Expressions;
using System.Net.WebSockets;
namespace yawaflua.WebSockets.Models.Interfaces;
public interface IWebSocketManager
{
public Task Broadcast(Func<IWebSocketClient, bool> selector,string message, WebSocketMessageType messageType = WebSocketMessageType.Text, CancellationToken cts = default);
public List<IWebSocketClient> GetAllClients();
public Task SendToUser(Guid id, string message, WebSocketMessageType messageType, CancellationToken cts);
}