Skip to content

[Epic] Enhancing Bedrock Abstractions #10869

@analogrelay

Description

@analogrelay

This is tracking the work to align our servers and SignalR client APIs with a proposed new socket abstraction. See #10308 for a detailed description (that issue was originally tracking this work before this epic was created).

New abstraction shape:

public abstract class ConnectionContext : IAsyncDisposable
{
  // unchanged except for IAsyncDisposable base
}

public interface IConnectionListenerFactory
{
    ValueTask<IConnectionListener> BindAsync(System.Net.EndPoint endpoint, CancellationToken cancellationToken = default);
}

public interface IConnectionListener : IAsyncDisposable
{
    EndPoint EndPoint { get; }
    ValueTask<ConnectionContext> AcceptAsync(CancellationToken cancellationToken = default);
    ValueTask UnbindAsync(CancellationToken cancellationToken = default);
}

public interface IConnectionFactory
{
    ValueTask<ConnectionContext> ConnectAsync(System.Net.EndPoint endpoint, CancellationToken cancellationToken = default);
}

Child Items

Metadata

Metadata

Labels

EpicGroups multiple user stories. Can be grouped under a theme.area-networkingIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractionsarea-signalrIncludes: SignalR clients and servers🥌 Bedrock

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions