예제 #1
0
        protected PoolBase(IComponentContext ctx,
                           JsonSerializerSettings serializerSettings,
                           IConnectionFactory cf,
                           IStatsRepository statsRepo,
                           IMapper mapper,
                           IMasterClock clock,
                           IMessageBus messageBus,
                           WebhookNotificationService notificationService) : base(ctx, clock)
        {
            Assertion.RequiresNonNull(ctx, nameof(ctx));
            Assertion.RequiresNonNull(serializerSettings, nameof(serializerSettings));
            Assertion.RequiresNonNull(cf, nameof(cf));
            Assertion.RequiresNonNull(statsRepo, nameof(statsRepo));
            Assertion.RequiresNonNull(mapper, nameof(mapper));
            Assertion.RequiresNonNull(clock, nameof(clock));
            Assertion.RequiresNonNull(messageBus, nameof(messageBus));
            Assertion.RequiresNonNull(notificationService, nameof(notificationService));

            this.serializerSettings = serializerSettings;
            this.cf                  = cf;
            this.statsRepo           = statsRepo;
            this.mapper              = mapper;
            this.messageBus          = messageBus;
            this.notificationService = notificationService;
        }
        public RewardRecorder(IConnectionFactory cf, IMapper mapper,
                              JsonSerializerSettings jsonSerializerSettings,
                              IShareRepository shareRepo, IBlockRepository blockRepo,
                              IMasterClock clock,
                              IMessageBus messageBus,
                              WebhookNotificationService notificationService)
        {
            Assertion.RequiresNonNull(cf, nameof(cf));
            Assertion.RequiresNonNull(mapper, nameof(mapper));
            Assertion.RequiresNonNull(shareRepo, nameof(shareRepo));
            Assertion.RequiresNonNull(blockRepo, nameof(blockRepo));
            Assertion.RequiresNonNull(jsonSerializerSettings, nameof(jsonSerializerSettings));
            Assertion.RequiresNonNull(clock, nameof(clock));
            Assertion.RequiresNonNull(messageBus, nameof(messageBus));
            Assertion.RequiresNonNull(notificationService, nameof(notificationService));

            this.cf     = cf;
            this.mapper = mapper;
            this.jsonSerializerSettings = jsonSerializerSettings;
            this.clock               = clock;
            this.messageBus          = messageBus;
            this.notificationService = notificationService;

            this.shareRepo = shareRepo;
            this.blockRepo = blockRepo;

            BuildFaultHandlingPolicy();
        }