//
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
//
namespace MUnique.OpenMU.Interfaces;
using System.Net;
///
/// An interface for an object which observes the state of game servers.
///
public interface IGameServerStateObserver
{
///
/// Registers the game server, so that it can be accessed through the connect server.
///
/// The game server information.
/// The public end point.
void RegisterGameServer(ServerInfo gameServer, IPEndPoint publicEndPoint);
///
/// Un-registers the game server from the observer.
///
/// The game server identifier.
void UnregisterGameServer(ushort gameServerId);
///
/// Is called when the number of changed for a server.
///
/// The server id.
/// The number of current connections, .
void CurrentConnectionsChanged(ushort serverId, int currentConnections);
}