using StellaOps.Router.Common.Models;
namespace StellaOps.Router.Common.Abstractions;
///
/// Provides global routing state derived from all live connections.
///
public interface IGlobalRoutingState
{
///
/// Resolves an HTTP request to an endpoint descriptor.
///
/// The HTTP method.
/// The request path.
/// The endpoint descriptor, or null if not found.
EndpointDescriptor? ResolveEndpoint(string method, string path);
///
/// Gets all connections that can handle the specified endpoint.
///
/// The service name.
/// The service version.
/// The HTTP method.
/// The request path.
/// The available connection states.
IReadOnlyList GetConnectionsFor(
string serviceName,
string version,
string method,
string path);
}