Example #1
0
 public PersisterDaemon(IStreamIngestorConfiguration configuration,
     IEventPersister eventPersister,
     IEventDiscarder eventDiscarder)
 {
     _configuration = configuration;
     _eventPersister = eventPersister;
     _eventDiscarder = eventDiscarder;
     
     _persistQueue = new ConcurrentQueue<ErrorInstanceEntity>();
     _errorDefinitions = new ConcurrentDictionary<string, ErrorDefinitionEntity>();
     _lastPersisted = DateTime.UtcNow;
     _stringCache = new Dictionary<int, string>();
     _fingerprintCache = new Dictionary<int, Fingerprint>();
     _serverCache = new Dictionary<int, string>();
 }
Example #2
0
        public BatchLogIngestor(IEventFilterFactory eventFilterFactory = null,
            IErrorParser errorParser = null,
            IContentFilterFactory contentFilterFactory = null,
            IEventDiscarder eventDiscarder = null,
            IEventPersister eventPersister = null,
            IEventRejecter eventRejecter = null)
        {
            _eventPersister = eventPersister;
            _eventFilterFactory = eventFilterFactory;
            _eventDiscarder = eventDiscarder;
            _errorParser = errorParser;
            _contentFilterFactory = contentFilterFactory;
            _eventRejecter = eventRejecter;

            _firstPipelineStage = BuildPipeline();
        }
Example #3
0
 public EventService(ILifetimeScope scope, IEventPersister eventPersister, IHandleEverything globalHandler = null)
 {
     _scope          = scope;
     _eventPersister = eventPersister;
     _globalHandler  = globalHandler;
 }
 public IBatchIngestorFactoryDescriptor WithPersister(IEventPersister eventPersister)
 {
     _eventPersister = eventPersister;
     return this;
 }
 public IBatchIngestorFactoryDescriptor WithDefaultPersister()
 {
     _eventPersister = BuildDefaultEventPersister();
     return this;
 }
        public IBatchLogIngestor Build()
        {
            if(_errorParser == null)
                _errorParser = new CustomErrorParser(new CustomParserConfiguration());
            
            if(_contentFilterFactory == null)
                _contentFilterFactory = new ContentFilterFactory();
            
            if(_eventDiscarder == null)
                _eventDiscarder = new NullEventDiscarder();

            if(_eventFilterFactory == null)
                _eventFilterFactory = new EventFilterFactory();

            if(_eventPersister == null)
                _eventPersister = BuildDefaultEventPersister();

            if(_eventRejecter == null)
                _eventRejecter = new NullEventRejecter();

            return new BatchLogIngestor(_eventFilterFactory,
                _errorParser,
                _contentFilterFactory,
                _eventDiscarder,
                _eventPersister,
                _eventRejecter);
        }
 public IEventManager AddEventPersisters(IEventPersister eventPersister)
 {
     _eventPersisters.Add(eventPersister);
     return(this);
 }
Example #8
0
 public EventHandler(IEventPersister eventPersister)
 {
     EventPersister = eventPersister;
 }
Example #9
0
        public static IServiceCollection AddAwesomeEventGrid(this IServiceCollection services, IEventPersister eventPersister, Action <AwesomeEventGridOptions> options = null)
        {
            if (options == null)
            {
                options = o => new AwesomeEventGridOptions();
            }
            services.AddHttpClient();
            services.TryAddScoped <IEventGridEventHandler, DefaultEventGridEventHandler>();
            services.TryAddSingleton <ITopicsRepository, TopicsRepository>();
            services.TryAddSingleton <ISubscriberEventDispatcher, HangfireSubscriberEventDispatcher>();
            services.TryAddSingleton <ISubscriptionsRepository, SubscriptionsRepository>();
            services.TryAddSingleton(eventPersister);
            services.AddSingleton <Data>();

            services.AddAutoMapper();

            services.AddOptions <AwesomeEventGridOptions>();
            services.Configure(options);


            eventPersister.ConfigureServices(services);


            return(services);
        }