This repository was archived by the owner on Aug 25, 2026. It is now read-only.
Repository navigation
Releases: cirreum/Cirreum.Connections
Releases · cirreum/Cirreum.Connections
Release list
Release v1.0.0
Release Notes — Cirreum.Connections v1.0.0
Initial release of the server-side abstractions for long-lived Cirreum connections.
What's in this release
This package defines the foundational primitives that transport adapters (SignalR, WebSockets) build on:
- Two-scope model —
IRealtimeConnection(per-connection lifetime) andIRealtimeInvocation(per-message lifetime) with separateItemsdictionaries, mirroring theHttpContextpattern but split across two distinct lifetimes. - Ambient accessors —
IRealtimeConnectionAccessorandIRealtimeInvocationAccessorwith AsyncLocal-backed default implementations. Read-only getter on the interface; explicitSetConnection/ClearConnectionandSetInvocation/ClearInvocationmethods for transport adapters. - Identity lifecycle hook —
IConnectionAuthLifecyclefor App-side identity resolution at connect/disconnect. ReturnfalsefromOnConnectedAsyncto reject the connection at upgrade. - Server-initiated push —
IRealtimeOutbound.SendAsync<T>for fire-and-forget push over the active connection. Multi-producer safe; within a single producer, sends preserve issue order. - Well-known keys —
ConnectionContextKeysfor connection-bag slots (Outbound, AppName, TransportName).