/// <summary>
 /// Initializes a new instance of the <see cref="DefaultTcpGameServerListener" /> class.
 /// </summary>
 /// <param name="endPoint">The endpoint to which this listener is listening.</param>
 /// <param name="gameServerInfo">The game server information.</param>
 /// <param name="gameContext">The game context.</param>
 /// <param name="stateObserver">The connect server.</param>
 /// <param name="addressResolver">The address resolver which returns the address on which the listener will be bound to.</param>
 public DefaultTcpGameServerListener(GameServerEndpoint endPoint, IGameServerInfo gameServerInfo, GameServerContext gameContext, IGameServerStateObserver stateObserver, IIpAddressResolver addressResolver)
 {
     this.endPoint        = endPoint;
     this.gameServerInfo  = gameServerInfo;
     this.gameContext     = gameContext;
     this.stateObserver   = stateObserver;
     this.addressResolver = addressResolver;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DefaultTcpGameServerListener" /> class.
 /// </summary>
 /// <param name="endPoint">The endpoint to which this listener is listening.</param>
 /// <param name="gameServerInfo">The game server information.</param>
 /// <param name="gameContext">The game context.</param>
 /// <param name="stateObserver">The connect server.</param>
 /// <param name="addressResolver">The address resolver which returns the address on which the listener will be bound to.</param>
 /// <param name="loggerFactory">The logger factory.</param>
 public DefaultTcpGameServerListener(GameServerEndpoint endPoint, IGameServerInfo gameServerInfo, GameServerContext gameContext, IGameServerStateObserver stateObserver, IIpAddressResolver addressResolver, ILoggerFactory loggerFactory)
 {
     this.endPoint        = endPoint;
     this.gameServerInfo  = gameServerInfo;
     this.gameContext     = gameContext;
     this.stateObserver   = stateObserver;
     this.addressResolver = addressResolver;
     this.loggerFactory   = loggerFactory;
     this.logger          = this.loggerFactory.CreateLogger <DefaultTcpGameServerListener>();
 }
 /// <summary>
 /// Adds the observer which wants to get notified about changes.
 /// </summary>
 /// <param name="observer">The observer.</param>
 public void AddObserver(IGameServerStateObserver observer) => this.observers.Add(observer);