public override ServerPeer CreateServerPeer(INetworkMessageSender sender, IConnectionDetails details, INetworkMessageSubscriptionService subService, IDisconnectionServiceHandler disconnectHandler)
        {
            //This shouldn't be called by the ProxyLoadBalancing server
            AppLogger.ErrorFormat("Outgoing connection attempt on Proxy to IP {0} Port {1}. Proxy should not be connecting to other peers", details.RemoteIP, details.RemotePort);

            return(null);
        }
        public AuthServicePeerSession(ILog logger, INetworkMessageSender sender, IConnectionDetails details, INetworkMessageSubscriptionService netMessageSubService,
                                      IDisconnectionServiceHandler disconnectHandler, IRequestPayloadHandlerService <AuthServicePeerSession> requestHandlerService)
            : base(logger, sender, details, netMessageSubService, disconnectHandler)
        {
            logger.Debug("Created new authservice.");

            requestHandler = requestHandlerService;
        }
コード例 #3
0
 /// <inheritdoc />
 public PlayerEntityMovementDataUpdateManager(
     [NotNull] IPlayerEntityGuidEnumerable playerGuids,
     [NotNull] INetworkMessageSender <EntityMovementMessageContext> movementUpdateMessageSender,
     [NotNull] IDirtyableMovementDataCollection movementCollection)
 {
     PlayerGuids = playerGuids ?? throw new ArgumentNullException(nameof(playerGuids));
     MovementUpdateMessageSender = movementUpdateMessageSender ?? throw new ArgumentNullException(nameof(movementUpdateMessageSender));
     MovementCollection          = movementCollection ?? throw new ArgumentNullException(nameof(movementCollection));
 }
コード例 #4
0
 /// <inheritdoc />
 public DefaultInterestRadiusManager(
     [NotNull] IEntityInterestChangeEventSubscribable subscriptionService,
     [NotNull] ILog logger,
     [NotNull] IReadonlyEntityGuidMappable <InterestCollection> managedInterestCollections,
     [NotNull] INetworkMessageSender <EntityVisibilityChangeContext> visibilityMessageSender,
     [NotNull] GlobalEntityCollectionsLockingPolicy lockingPolicy)
     : base(subscriptionService, true, logger)
 {
     ManagedInterestCollections = managedInterestCollections ?? throw new ArgumentNullException(nameof(managedInterestCollections));
     VisibilityMessageSender    = visibilityMessageSender ?? throw new ArgumentNullException(nameof(visibilityMessageSender));
     LockingPolicy = lockingPolicy ?? throw new ArgumentNullException(nameof(lockingPolicy));
 }
コード例 #5
0
 public PlayerCreatedSendPlayerCreationPayloadToPlayerEventListener(IEntityCreationFinishedEventSubscribable subscriptionService,
                                                                    INetworkMessageSender <GenericSingleTargetMessageContext <PlayerSelfSpawnEventPayload> > sender,
                                                                    IReadonlyEntityGuidMappable <IMovementData> movementDataMappable,
                                                                    IFactoryCreatable <FieldValueUpdate, EntityFieldUpdateCreationContext> entityDataUpdateFactory,
                                                                    IReadonlyEntityGuidMappable <IEntityDataFieldContainer> entityDataMappable)
     : base(subscriptionService)
 {
     Sender = sender;
     MovementDataMappable    = movementDataMappable;
     EntityDataUpdateFactory = entityDataUpdateFactory;
     EntityDataMappable      = entityDataMappable;
 }
コード例 #6
0
 /// <inheritdoc />
 public PlayerCreatedSendPlayerCreationPayloadToPlayerEventListener(
     IPlayerWorldSessionCreatedEventSubscribable subscriptionService,
     [NotNull] INetworkMessageSender <GenericSingleTargetMessageContext <PlayerSelfSpawnEventPayload> > sender,
     [NotNull] IReadonlyEntityGuidMappable <IMovementData> movementDataMappable,
     [NotNull] IFactoryCreatable <FieldValueUpdate, EntityFieldUpdateCreationContext> entityDataUpdateFactory,
     [NotNull] IReadonlyEntityGuidMappable <IEntityDataFieldContainer> entityDataMappable)
     : base(subscriptionService)
 {
     Sender = sender ?? throw new ArgumentNullException(nameof(sender));
     MovementDataMappable    = movementDataMappable ?? throw new ArgumentNullException(nameof(movementDataMappable));
     EntityDataUpdateFactory = entityDataUpdateFactory ?? throw new ArgumentNullException(nameof(entityDataUpdateFactory));
     EntityDataMappable      = entityDataMappable ?? throw new ArgumentNullException(nameof(entityDataMappable));
 }
コード例 #7
0
 /// <inheritdoc />
 public InterestChangeEventHandlerTickable(
     [NotNull] IEntityInterestChangeEventSubscribable subscriptionService,
     [NotNull] ILog logger,
     [NotNull] IReadonlyEntityGuidMappable <InterestCollection> managedInterestCollections,
     [NotNull] INetworkMessageSender <EntityVisibilityChangeContext> visibilityMessageSender,
     [NotNull] IReadonlyKnownEntitySet knownEntities,
     [NotNull] IReadonlyEntityGuidMappable <IActorRef> actorReferenceMappable)
     : base(subscriptionService, true, logger)
 {
     ManagedInterestCollections = managedInterestCollections ?? throw new ArgumentNullException(nameof(managedInterestCollections));
     VisibilityMessageSender    = visibilityMessageSender ?? throw new ArgumentNullException(nameof(visibilityMessageSender));
     KnownEntities          = knownEntities ?? throw new ArgumentNullException(nameof(knownEntities));
     ActorReferenceMappable = actorReferenceMappable ?? throw new ArgumentNullException(nameof(actorReferenceMappable));
 }
コード例 #8
0
        /// <inheritdoc />
        public PlayerEntityEntryManager(
            IPlayerSessionClaimedEventSubscribable subscriptionService,
            ISessionDisconnectionEventSubscribable disconnectionSubscriptionService,
            IFactoryCreatable <GameObject, PlayerEntityCreationContext> playerFactory,
            INetworkMessageSender <GenericSingleTargetMessageContext <PlayerSelfSpawnEventPayload> > spawnPayloadSender,
            ILog logger,
            GlobalEntityCollectionsLockingPolicy lockingPolicy)
            : base(subscriptionService, false, logger)
        {
            PlayerFactory      = playerFactory;
            SpawnPayloadSender = spawnPayloadSender;
            LockingPolicy      = lockingPolicy;

            disconnectionSubscriptionService.OnSessionDisconnection += OnSessionDisconnection;
        }
コード例 #9
0
        public ClientPeerSession Create(INetworkMessageSender sender, IConnectionDetails details, INetworkMessageSubscriptionService subService, IDisconnectionServiceHandler disconnectHandler)
        {
            Logger.DebugFormat("Client trying to create session on Port: {0}", details.LocalPort);


            switch (portToSessionTypeConverter.ToSessionType(details.LocalPort))
            {
            case ProxySessionType.UserSession:
                Logger.Debug("Creating client session.");
                return(userPeerFactory(sender, details, subService, disconnectHandler));

            //return userPeerFactory(GenerateTypedParameter(sender), GenerateTypedParameter(details), GenerateTypedParameter(subService), GenerateTypedParameter(disconnectHandler));

            case ProxySessionType.AuthServiceSession:
                Logger.Debug("Creating new un-authenticated authservice session.");
                return(authPeerFactory(sender, details, subService, disconnectHandler));

            case ProxySessionType.Default:
            default:
                Logger.ErrorFormat("An invalid {0} was generated from Port: {1}", nameof(ProxySessionType), details.LocalPort);
                return(null);
            }
        }
 public UserClientPeerSession(ILog logger, INetworkMessageSender sender, IConnectionDetails details, INetworkMessageSubscriptionService subService, IDisconnectionServiceHandler disconnectHandler)
     : base(logger, sender, details, subService, disconnectHandler)
 {
     logger.Debug("Created new client session.");
 }
 //Resolves a TSessionType from the context provided
 private TSessionType SessionResolve <TSessionType>(IComponentContext context, INetworkMessageSender sender, IConnectionDetails details,
                                                    INetworkMessageSubscriptionService subService, IDisconnectionServiceHandler disconnectHandler)
     where TSessionType : ClientPeerSession
 {
     return(context.Resolve <TSessionType>(GenerateTypedParameter(sender), GenerateTypedParameter(details), GenerateTypedParameter(subService), GenerateTypedParameter(disconnectHandler)));
 }
 protected override ClientPeerSession CreateClientSession(INetworkMessageSender sender, IConnectionDetails details, INetworkMessageSubscriptionService subService, IDisconnectionServiceHandler disconnectHandler)
 {
     return(peerFactory.Create(sender, details, subService, disconnectHandler));
 }
 public override ServerPeerSession CreateServerPeerSession(INetworkMessageSender sender, IConnectionDetails details, INetworkMessageSubscriptionService subService, IDisconnectionServiceHandler disconnectHandler)
 {
     throw new NotImplementedException("This is deprecated and will be removed. Somehow a someone tried to create a peer session.");
 }