using System; using System.Net; namespace ZeroLevel.Network { public interface IExchange : IClientSet, IDisposable { bool UseDiscovery(); bool UseDiscovery(string endpoint); bool UseDiscovery(IPEndPoint endpoint); IRouter UseHost(); IRouter UseHost(int port); IRouter UseHostV6(); IRouter UseHostV6(int port); IRouter UseHost(IPEndPoint endpoint); IServiceRoutesStorage RoutesStorage { get; } IServiceRoutesStorage DiscoveryStorage { get; } IClient GetConnection(ISocketClient client); IClient GetConnection(string alias); IClient GetConnection(IPEndPoint endpoint); } }