예제 #1
0
 public void SetUp()
 {
     _busControl        = Substitute.For <IBusControl>();
     _messageBusFactory = Substitute.For <IMessageBusFactory>();
     _messageBusFactory.Create().Returns(_busControl);
     _eventProjectingService = new EventProjectingService(_messageBusFactory);
 }
 public AbstractPeerServerService(
     TInfo info,
     ICacheClient cacheClient,
     IMessageBusFactory messageBusFactory
     ) : base(info, cacheClient, messageBusFactory)
 {
     Server = new Server(this);
 }
 public void SetUp()
 {
     _busControl        = Substitute.For <IBusControl>();
     _messageBusFactory = Substitute.For <IMessageBusFactory>();
     _messageBusFactory.Create().Returns(_busControl);
     _outboxToMessageBusPublisher = Substitute.For <IOutboxToMessageBusPublisher>();
     _waiterCommandService        = new WaiterCommandService(_busControl, _outboxToMessageBusPublisher);
 }
예제 #4
0
 public DataBundleResponseSender(
     IResponseBundleParser responseBundleParser,
     IMessageBusFactory messageBusFactory,
     MessageHubConfig messageHubConfig)
 {
     _responseBundleParser = responseBundleParser;
     _messageBusFactory    = messageBusFactory;
     _messageHubConfig     = messageHubConfig;
 }
예제 #5
0
 public TradeService(
     IOptions <TradeServiceInfo> info,
     ICacheClient cacheClient,
     IMessageBusFactory messageBusFactory,
     IDataStore dataStore
     ) : base(info.Value, cacheClient, messageBusFactory)
 {
     DataStore = dataStore;
 }
 protected AbstractMigrateableService(
     TInfo info,
     ICacheClient cacheClient,
     IMessageBusFactory messageBusFactory
     ) : base(info, cacheClient, messageBusFactory)
 {
     AccountStateCache   = new ScopedCacheClient(cacheClient, Scopes.MigrationAccountCache);
     CharacterStateCache = new ScopedCacheClient(cacheClient, Scopes.MigrationCharacterCache);
     MigrationStateCache = new ScopedCacheClient(cacheClient, Scopes.MigrationCache);
 }
예제 #7
0
 public WebAPIService(
     IOptions <WebAPIInfo> info,
     ICacheClient cacheClient,
     IMessageBusFactory messageBusFactory,
     IDataStore dataStore
     ) : base(info.Value, cacheClient, messageBusFactory)
 {
     DataStore         = dataStore;
     AccountStateCache = new ScopedCacheClient(cacheClient, Scopes.MigrationAccountCache);
 }
예제 #8
0
 public DataBundleRequestSender(
     IRequestBundleParser requestBundleParser,
     IResponseBundleParser responseBundleParser,
     IMessageBusFactory serviceBusClientFactory,
     PeekRequestConfig peekRequestConfig)
 {
     _requestBundleParser  = requestBundleParser;
     _responseBundleParser = responseBundleParser;
     _messageBusFactory    = serviceBusClientFactory;
     _peekRequestConfig    = peekRequestConfig;
 }
예제 #9
0
        public AbstractPeerService(TInfo info, ICacheClient cacheClient, IMessageBusFactory messageBusFactory)
        {
            Info               = info;
            _cacheClient       = cacheClient;
            _messageBusFactory = messageBusFactory;

            MessageBus = messageBusFactory.Build($"{Scopes.PeerMessaging}:{info.Name}");

            _peerMessageBus = messageBusFactory.Build(Scopes.PeerDiscovery);
            _peers          = new ConcurrentDictionary <string, PeerServiceInfoEntry>();
        }
예제 #10
0
 public ShopService(
     IOptions <ShopServiceInfo> info,
     ICacheClient cacheClient,
     IMessageBusFactory messageBusFactory,
     IDataStore dataStore,
     ITemplateManager templateManager
     ) : base(info.Value, cacheClient, messageBusFactory)
 {
     DataStore        = dataStore;
     TemplateManager  = templateManager;
     CommodityManager = new CommodityManager(TemplateManager);
 }
예제 #11
0
 public LoginService(
     IOptions <LoginServiceInfo> info,
     ICacheClient cacheClient,
     IMessageBusFactory messageBusFactory,
     IDataStore store,
     ILockProvider lockProvider,
     ITemplateManager templateManager
     ) : base(info.Value, cacheClient, messageBusFactory)
 {
     DataStore       = store;
     LockProvider    = lockProvider;
     TemplateManager = templateManager;
 }
예제 #12
0
파일: Node.cs 프로젝트: larsw/Ring.io
        public Node(IPEndPoint endpoint, IMessageBusFactory messageBusFactory)
        {
            _messageBusFactory = messageBusFactory;
            this.Nodes = new Dictionary<string, HashTableEntry>();
            this.Entry = new HashTableEntry();
            this.Endpoint = endpoint;
            this.Entry.Address = endpoint.ToString();

            hash = MD5.Create();
            byte[] bytes = Encoding.ASCII.GetBytes(endpoint.ToString());
            this.Entry.NodeId = new BigInteger(hash.ComputeHash(bytes)).ToString();
            this.Entry.LastSeen = DateTime.MinValue;
        }
예제 #13
0
        public SocialService(
            IOptions <SocialServiceInfo> info,
            ICacheClient cacheClient,
            IMessageBusFactory messageBusFactory,
            IDataStore dataStore
            ) : base(info.Value, cacheClient, messageBusFactory)
        {
            DataStore      = dataStore;
            RankingManager = new RankingManager(this);
            PartyManager   = new PartyManager(dataStore);

            MessageBus.SubscribeAsync <SocialStateMessage>(HandleSocialUpdateState);
            MessageBus.SubscribeAsync <SocialLevelMessage>(HandleSocialUpdateLevel);
            MessageBus.SubscribeAsync <SocialJobMessage>(HandleSocialUpdateJob);
        }
예제 #14
0
        public OrderPrintingMessageBusClient(
            IMessageBusFactory<OrderPrintingMessage> messageBusFactory)
        {
            var configManager = new MessageBusConfigManager(
                MessageBusPurposeNames.OrderPrinting,
                ParameterHelper.MessageBusHostAddress);

            configManager.UserNameForConnection = ParameterHelper.MessageBusUserName;
            configManager.PasswordForConnection = ParameterHelper.MessageBusPassword;

            configManager.ExchangeType = MessageBusExchangeType.Topic;
            configManager.PerQueueMessageTimeToLiveInMinutes = QueueMessageTimeToLiveInMinutes;
            configManager.QueueBindingPrefix = ParameterHelper.MessageBusQueueBindingPrefix;
            configManager.SubscriberShouldLogMessageDetails = true;

            configManager.QueueBindings.Add(new MessageBusQueueBinding(
                MessageBusQueueNames.OrderSubmitted,
                MessageBusRoutingKeys.OrderSubmitted));

            _messageBus = messageBusFactory.Create(configManager,
                UnityHelper.Current.Resolve<MessageBusLogger>());
        }
예제 #15
0
 public DequeueNotificationSender(IMessageBusFactory messageBusFactory, DequeueConfig dequeueConfig)
 {
     _messageBusFactory = messageBusFactory;
     _dequeueConfig     = dequeueConfig;
 }
예제 #16
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="messageBusFactory"></param>
 /// <param name="appMessageType"></param>
 /// <param name="topicName"></param>
 public MessageSender(IMessageBusFactory messageBusFactory, AppMessageType appMessageType, string topicName)
 {
     _messageBusFactory = messageBusFactory;
     _appMessageType    = appMessageType;
     _topicName         = topicName;
 }
 public MultipleConnectionAttemptMessageBusFactory(IMessageBusFactory messageBusFactory, IRabbitMqHostConfiguration rabbitMqHostConfiguration)
 {
     _messageBusFactory         = messageBusFactory;
     _rabbitMqHostConfiguration = rabbitMqHostConfiguration;
 }
예제 #18
0
 public EventProjectingService(IMessageBusFactory messageBusFactory)
 {
     _messageBusFactory = messageBusFactory;
 }
예제 #19
0
 public DataAvailableNotificationSender(IMessageBusFactory messageBusFactory, MessageHubConfig messageHubConfig)
 {
     _messageBusFactory = messageBusFactory;
     _messageHubConfig  = messageHubConfig;
 }
예제 #20
0
        public GameService(
            IOptions <GameServiceInfo> info,
            ICacheClient cacheClient,
            IMessageBusFactory messageBusFactory,
            IDataStore dataStore,
            ITemplateManager templateManager,
            IScriptManager scriptManager
            ) : base(info.Value, cacheClient, messageBusFactory)
        {
            DataStore       = dataStore;
            TemplateManager = templateManager;
            ScriptManager   = scriptManager;

            CommandManager = new CommandManager(new Parser(settings =>
            {
                settings.CaseSensitive             = false;
                settings.CaseInsensitiveEnumValues = true;
            }));

            if (scriptManager is LuaScriptManager)
            {
                Speakers.Types.ForEach(t => UserData.RegisterType(t));
            }

            ConversationManager = new ScriptedConversationManager(scriptManager);
            FieldManager        = new FieldManager(templateManager);
            ContinentManager    = new ContinentManager(templateManager, FieldManager);

            MessageBus.SubscribeAsync <SocialInitPartyMessage>(HandleSocialInitParty);

            Handlers = new Dictionary <RecvPacketOperations, IGameHandler>
            {
                [RecvPacketOperations.MigrateIn]                  = new MigrateInHandler(),
                [RecvPacketOperations.AliveAck]                   = new AliveAckHandler(),
                [RecvPacketOperations.FuncKeyMappedModified]      = new FuncKeyMappedModifiedHandler(),
                [RecvPacketOperations.QuickslotKeyMappedModified] = new QuickSlotKeyMappedModifiedHandler(),

                [RecvPacketOperations.UserTransferFieldRequest]     = new UserTransferFieldRequestHandler(),
                [RecvPacketOperations.UserTransferChannelRequest]   = new UserTransferChannelRequestHandler(),
                [RecvPacketOperations.UserMigrateToCashShopRequest] = new UserMigrateToCashShopRequestHandler(),
                [RecvPacketOperations.UserMigrateToITCRequest]      = new UserMigrateToITCRequestHandler(),
                [RecvPacketOperations.UserMove]       = new UserMoveHandler(),
                [RecvPacketOperations.UserSitRequest] = new UserSitRequestHandler(),
                [RecvPacketOperations.UserPortableChairSitRequest] = new UserPortableChairSitRequestHandler(),
                [RecvPacketOperations.UserChat]                      = new UserChatHandler(),
                [RecvPacketOperations.UserEmotion]                   = new UserEmotionHandler(),
                [RecvPacketOperations.UserSelectNpc]                 = new UserSelectNPCHandler(),
                [RecvPacketOperations.UserScriptMessageAnswer]       = new UserScriptMessageAnswerHandler(),
                [RecvPacketOperations.UserShopRequest]               = new UserShopRequestHandler(),
                [RecvPacketOperations.UserTrunkRequest]              = new UserTrunkRequestHandler(),
                [RecvPacketOperations.UserGatherItemRequest]         = new UserGatherItemRequestHandler(),
                [RecvPacketOperations.UserSortItemRequest]           = new UserSortItemRequestHandler(),
                [RecvPacketOperations.UserChangeSlotPositionRequest] = new UserChangeSlotPositionRequestHandler(),
                [RecvPacketOperations.UserStatChangeItemUseRequest]  = new UserStatChangeItemUseRequestHandler(),
                [RecvPacketOperations.UserMobSummonItemUseRequest]   = new UserMobSummonItemUseRequestHandler(),
                [RecvPacketOperations.UserPortalScrollUseRequest]    = new UserPortalScrollUseRequestHandler(),
                [RecvPacketOperations.UserAbilityUpRequest]          = new UserAbilityUpRequestHandler(),
                [RecvPacketOperations.UserAbilityMassUpRequest]      = new UserAbilityMassUpRequestHandler(),
                [RecvPacketOperations.UserChangeStatRequest]         = new UserChangeStatRequestHandler(),
                [RecvPacketOperations.UserSkillUpRequest]            = new UserSkillUpRequestHandler(),
                [RecvPacketOperations.UserSkillUseRequest]           = new UserSkillUseRequestHandler(),
                [RecvPacketOperations.UserSkillCancelRequest]        = new UserSkillCancelRequestHandler(),
                [RecvPacketOperations.UserSkillPrepareRequest]       = new UserSkillPrepareRequestHandler(),
                [RecvPacketOperations.UserCharacterInfoRequest]      = new UserCharacterInfoRequestHandler(),
                [RecvPacketOperations.UserActivatePetRequest]        = new UserActivatePetRequestHandler(),
                [RecvPacketOperations.UserPortalScriptRequest]       = new UserPortalScriptRequestHandler(),
                [RecvPacketOperations.UserQuestRequest]              = new UserQuestRequestHandler(),

                [RecvPacketOperations.PetMove] = new PetMoveHandler(),

                [RecvPacketOperations.SummonedMove] = new SummonedMoveHandler(),

                [RecvPacketOperations.DragonMove] = new DragonMoveHandler(),

                [RecvPacketOperations.MobMove] = new MobMoveHandler(),

                [RecvPacketOperations.NpcMove] = new NPCMoveHandler(),

                [RecvPacketOperations.DropPickUpRequest] = new DropPickupRequestHandler(),

                [RecvPacketOperations.CONTISTATE] = new ContiStateHandler()
            };

            var userAttackHandler = new UserAttackHandler();

            Handlers[RecvPacketOperations.UserMeleeAttack] = userAttackHandler;
            Handlers[RecvPacketOperations.UserShootAttack] = userAttackHandler;
            Handlers[RecvPacketOperations.UserMagicAttack] = userAttackHandler;
            Handlers[RecvPacketOperations.UserBodyAttack]  = userAttackHandler;
        }