Interface IWebSocketService
- Namespace
- Virtufin.WebSocketManager.Services
- Assembly
- Virtufin.WebSocketManager.dll
public interface IWebSocketService
Methods
ConnectAsync(string, bool, CancellationToken)
Task<WebSocketConnection> ConnectAsync(string url, bool autoReconnect, CancellationToken cancellationToken = default)
Parameters
urlstringautoReconnectboolcancellationTokenCancellationToken
Returns
DisconnectAsync(string, CancellationToken)
Task DisconnectAsync(string id, CancellationToken cancellationToken = default)
Parameters
idstringcancellationTokenCancellationToken
Returns
GetTag(string, string)
string? GetTag(string id, string key)
Parameters
Returns
GetTags(string)
IReadOnlyDictionary<string, string> GetTags(string id)
Parameters
idstring
Returns
ListConnectionsAsync(CancellationToken)
Task<IEnumerable<WebSocketConnection>> ListConnectionsAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
ReclaimAsync(string, CancellationToken)
Takes ownership of a connection last known to be owned by another,
now-unreachable instance. Unlike a fresh ConnectAsync(string, bool, CancellationToken),
the connection ID and its persisted metadata (URL, auto-reconnect,
topic, tags) are preserved. If auto-reconnect is set, attempts to
open a fresh socket for it immediately -- the old owner's socket
object lives in that process's memory, unreachable from here, so
this instance genuinely has no live connection until one is
(re)established. Returns false if no persisted record exists
for id.
Task<bool> ReclaimAsync(string id, CancellationToken cancellationToken = default)
Parameters
idstringcancellationTokenCancellationToken
Returns
SendAsync(string, byte[], int, string, CancellationToken)
Task<byte[]> SendAsync(string id, byte[] message, int timeoutMs, string contentType, CancellationToken cancellationToken = default)
Parameters
idstringmessagebyte[]timeoutMsintcontentTypestringcancellationTokenCancellationToken
Returns
SendRawAsync(string, byte[], string, CancellationToken)
Task SendRawAsync(string id, byte[] message, string contentType, CancellationToken cancellationToken = default)
Parameters
idstringmessagebyte[]contentTypestringcancellationTokenCancellationToken
Returns
SetTag(string, string, string)
void SetTag(string id, string key, string value)
Parameters
SetTags(string, IDictionary<string, string>)
void SetTags(string id, IDictionary<string, string> tags)
Parameters
idstringtagsIDictionary<string, string>
StartPublishAsync(string, string, CancellationToken)
Task StartPublishAsync(string id, string topic, CancellationToken cancellationToken = default)
Parameters
idstringtopicstringcancellationTokenCancellationToken
Returns
StopPublishAsync(string, CancellationToken)
Task StopPublishAsync(string id, CancellationToken cancellationToken = default)
Parameters
idstringcancellationTokenCancellationToken