Interface IWebSocketConnectionHandler
- Namespace
- Cratis.Arc.Queries
- Assembly
- Cratis.Arc.Core.dll
Defines a system that knows how to handle the IWebSocket connection for observable queries.
public interface IWebSocketConnectionHandler
- Extension Methods
Methods
HandleIncomingMessages(IWebSocket, SemaphoreSlim, CancellationToken)
Handles all incoming web messages on the given IWebSocket.
Task HandleIncomingMessages(IWebSocket webSocket, SemaphoreSlim writeLock, CancellationToken token)
Parameters
webSocketIWebSocketThe IWebSocket to listen to.
writeLockSemaphoreSlimA per-connection SemaphoreSlim that serializes all sends on this socket.
tokenCancellationTokenThe CancellationToken.
Returns
SendMessage(IWebSocket, QueryResult, SemaphoreSlim, CancellationToken)
Sends a message on the IWebSocket.
Task<Exception?> SendMessage(IWebSocket webSocket, QueryResult queryResult, SemaphoreSlim writeLock, CancellationToken token)
Parameters
webSocketIWebSocketThe IWebSocket to send on.
queryResultQueryResultThe QueryResult message to write.
writeLockSemaphoreSlimA per-connection SemaphoreSlim that serializes all sends on this socket.
tokenCancellationTokenThe CancellationToken.