Exemplo n.º 1
0
        public InternalClientSessionFactory(AUIDServiceCollection <ClientSessionServiceContext> peerServiceCollection, ISerializerStrategy serializer, ILog peerLogger, IAUIDService <INetPeer> netPeerAuidService, IManagedClientSessionFactory managedSessionFactory)
        {
            if (peerServiceCollection == null)
            {
                throw new ArgumentNullException(nameof(peerServiceCollection));
            }
            if (serializer == null)
            {
                throw new ArgumentNullException(nameof(serializer));
            }
            if (peerLogger == null)
            {
                throw new ArgumentNullException(nameof(peerLogger));
            }
            if (netPeerAuidService == null)
            {
                throw new ArgumentNullException(nameof(netPeerAuidService));
            }
            if (managedSessionFactory == null)
            {
                throw new ArgumentNullException(nameof(managedSessionFactory));
            }

            PeerServiceCollection = peerServiceCollection;
            Serializer            = serializer;
            PeerLogger            = peerLogger;
            NetPeerAUIDService    = netPeerAuidService;
            ManagedSessionFactory = managedSessionFactory;
        }
        /// <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 />
        public ServerApplicationBase([NotNull] NetworkAddressInfo serverAddress, [NotNull] ILog logger, [NotNull] IManagedSessionFactory managedSessionFactory, [NotNull] IManagedClientSessionFactory managedClientSessionFactory)
            : base(serverAddress, logger)
        {
            if (serverAddress == null)
            {
                throw new ArgumentNullException(nameof(serverAddress));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            ManagedSessionFactory       = managedSessionFactory ?? throw new ArgumentNullException(nameof(managedSessionFactory));
            ManagedClientSessionFactory = managedClientSessionFactory ?? throw new ArgumentNullException(nameof(managedClientSessionFactory));

            if (Logger.IsDebugEnabled)
            {
                Logger.Debug($"Created server base.");
            }
        }
Exemplo n.º 4
0
        protected ApplicationBase(IDeserializerStrategy deserializer, ISerializerStrategy serializer, ILog logger, IManagedClientSessionFactory sessionManagedFactory)
        {
            if (deserializer == null)
            {
                throw new ArgumentNullException(nameof(deserializer));
            }
            if (serializer == null)
            {
                throw new ArgumentNullException(nameof(serializer));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            Logger = logger;

            //Init internal services/components
            //Create these first; thread needs them
            peerServiceCollection = new AUIDServiceCollection <ClientSessionServiceContext>(50);
            netPeerAUIDService    = new AUIDNetPeerServiceDecorator(peerServiceCollection);

            managedNetworkThread = new ManagedLidgrenNetworkThread(serializer, new LidgrenServerMessageContextFactory(deserializer), new PeerSendServiceSelectionStrategy(peerServiceCollection), e => Logger.Fatal($"{e.Message} StackTrace: {e.StackTrace}"));
            InternalClientSessionFactory sessionFactory = new InternalClientSessionFactory(peerServiceCollection, serializer, Logger, netPeerAUIDService, sessionManagedFactory);

            sessionlessHandler = new SessionlessMessageHandler(sessionFactory, Logger);
        }
 /// <inheritdoc />
 public InternalUnityApplicationBase(IDeserializerStrategy deserializer, ISerializerStrategy serializer, ILog logger, IManagedClientSessionFactory sessionManagedFactory)
     : base(deserializer, serializer, logger, sessionManagedFactory)
 {
 }