using Connected.Data;
namespace Connected.Net.Endpoints;
///
/// Represents a single endpoint in the environment.
///
///
/// Each instance should be defined as an endpoint for other instances
/// to be able to find it on the network and communicate with it.
///
public interface IEndpoint : IPrimaryKey
{
///
/// The name of the Endpoint. This is descriptive property and has
/// no special meaning in the environment.
///
string Name { get; init; }
///
/// The IP address or Url of the instance where it responds to requests. This value
/// should be unique across the environment.
///
string Address { get; init; }
///
/// The endpoint status. For dynamic scale outs, endpoint could be defined but disabled when
/// not needed. If scaling is needed this value could automatically go to the .
///
Status Status { get; init; }
}