/// <inheritdoc /> public ServerApplicationBase([NotNull] NetworkAddressInfo serverAddress, [NotNull] INetworkMessageDispatchingStrategy <BaseGameServerPayload, BaseGameClientPayload> messageHandlingStrategy, [NotNull] IManagedSessionFactory managedSessionFactory, [NotNull] IManagedClientSessionFactory managedClientSessionFactory) : base(serverAddress, messageHandlingStrategy, new NoOpLogger()) { if (serverAddress == null) { throw new ArgumentNullException(nameof(serverAddress)); } if (messageHandlingStrategy == null) { throw new ArgumentNullException(nameof(messageHandlingStrategy)); } ManagedSessionFactory = managedSessionFactory ?? throw new ArgumentNullException(nameof(managedSessionFactory)); ManagedClientSessionFactory = managedClientSessionFactory ?? throw new ArgumentNullException(nameof(managedClientSessionFactory)); if (Logger.IsDebugEnabled) { Logger.Debug($"Created server base."); } }
/// <inheritdoc /> private ProxiedTcpServerApplicationBase([NotNull] NetworkAddressInfo serverAddress, [NotNull] NetworkAddressInfo proxyToEndpointAddress, [NotNull] ILog logger, [NotNull] INetworkMessageDispatchingStrategy <TPayloadWriteType, TPayloadReadType> messageHandlingStrategy, [NotNull] PayloadHandlerRegisterationModules <TPayloadReadType, TPayloadWriteType> handlerModulePair, [NotNull] NetworkSerializerServicePair serializers) : base(serverAddress, messageHandlingStrategy, logger) { HandlerModulePair = handlerModulePair ?? throw new ArgumentNullException(nameof(handlerModulePair)); Serializers = serializers ?? throw new ArgumentNullException(nameof(serializers)); ProxyToEndpointAddress = proxyToEndpointAddress ?? throw new ArgumentNullException(nameof(proxyToEndpointAddress)); ServiceContainer = BuildServiceContainer(); }