/// <summary> /// Initializes a new instance of the <see cref="MkSmtpMailer" /> class. /// </summary> /// <param name="settings">The settings.</param> /// <param name="logger">The logger.</param> /// <param name="historyStore">The history store.</param> public MkSmtpMailer( MkSmtpMailerSettings settings, ILogger <MkSmtpMailer> logger = null, IHistoryStore historyStore = null) : this(new SmtpClient(), settings, logger, historyStore) { }
/// <summary> /// Initializes a new instance of the <see cref="SendGridMailer" /> class. /// </summary> /// <param name="settings">The settings.</param> /// <param name="logger">The logger.</param> /// <param name="historyStore">The history store.</param> public SendGridMailer( SendGridMailerSettings settings, ILogger <SendGridMailer> logger = null, IHistoryStore historyStore = null) : this(new SendGridClient(settings.ApiKey), settings, logger, historyStore) { }
public WebSocketMessageBroadcaster(IHistoryStore hs, BroadcastMessageQueue q) { _hs = hs; _q = q; _ts = new CancellationTokenSource(); Task.Factory.StartNew((tk) => { var ct = (CancellationToken)tk; while (!ct.IsCancellationRequested) { var messages = _q.DequeueOrWait(ct); if (messages == null || messages.Count == 0) { continue; } var bs = messages.FindAll(x => string.IsNullOrEmpty(x.ClientId)).Select(x => x.Message).ToList(); this.BroadcastMessageAsync(bs).Wait(); messages.FindAll(x => !string.IsNullOrEmpty(x.ClientId)).ForEach(x => { this.SendMessageAsync(this.GetSocketById(x.ClientId), new List <IMessage>() { x.Message }).Wait(); }); } }, _ts.Token, _ts.Token); }
/// <summary> /// Initializes a new instance of the <see cref="SendGridMailer" /> class. /// </summary> /// <param name="client">The client.</param> /// <param name="settings">The settings.</param> /// <param name="logger">The logger.</param> /// <param name="historyStore">The history store.</param> public SendGridMailer( SendGridClient client, SendGridMailerSettings settings, ILogger <SendGridMailer> logger = null, IHistoryStore historyStore = null) : base(settings, logger, historyStore) { MailClient = client; }
/// <summary> /// Configures the history store logger. /// </summary> /// <param name="historyStore">The history store.</param> /// <returns>IHistoryStore.</returns> public IHistoryStore ConfigureHistoryStoreLogger(IHistoryStore historyStore) { historyStore = historyStore ?? DefaultHistoryStore; if (DefaultLoggerFactory != null && historyStore?.Logger is NullLogger) { historyStore.Logger = DefaultLoggerFactory.CreateLogger(historyStore.GetType()); } return(historyStore); }
public JobService(IEnumerable <IJobDescriber> describers, IQueue q, IJobWorkerManager workerManager, ILifetimeScope scope, IHistoryStore hs) { _describers = describers; _q = q; _decreaseSignalHolder = new List <ISignal>(); _workerManager = workerManager; _scope = scope; _hs = hs; }
protected virtual IFhirServiceExtension GetHistory() { IHistoryStore historyStore = fhirStoreBuilder.GetStore <IHistoryStore>(); if (historyStore != null) { return(new HistoryService(historyStore)); } return(null); }
/// <summary> /// Registers a null mailer with the factory. /// </summary> /// <param name="factory">The factory.</param> /// <param name="mailerSettings">The mailer settings.</param> /// <param name="logger">The logger.</param> /// <param name="store">The store.</param> public static void AddNullMailer( this MailerFactory factory, NullMailerSettings mailerSettings, ILogger <NullMailer> logger = null, IHistoryStore store = null) { factory.Register <NullMailer, NullMailerSettings>(mailerSettings, logger ?? factory.DefaultLoggerFactory?.CreateLogger <NullMailer>(), factory.ConfigureHistoryStoreLogger(store)); }
/// <summary> /// Register a SendGrid mailer with the factory /// </summary> /// <param name="factory">The factory.</param> /// <param name="mailerSettings">The mailer settings.</param> /// <param name="logger">The logger.</param> /// <param name="store">The history store.</param> public static void AddSendGridMailer( this MailerFactory factory, SendGridMailerSettings mailerSettings, ILogger <SendGridMailer> logger = null, IHistoryStore store = null) { factory.Register(() => new SendGridMailer( mailerSettings, logger ?? factory.DefaultLoggerFactory?.CreateLogger <SendGridMailer>(), factory.ConfigureHistoryStoreLogger(store))); }
/// <summary> /// Initializes a new instance of the <see cref="MkSmtpMailer" /> class. /// </summary> /// <param name="client">The client.</param> /// <param name="settings">The settings.</param> /// <param name="logger">The logger.</param> /// <param name="historyStore">The history store.</param> public MkSmtpMailer( SmtpClient client, MkSmtpMailerSettings settings, ILogger <MkSmtpMailer> logger = null, IHistoryStore historyStore = null) : base(settings, logger, historyStore) { MailClient = client; if (!settings.EnableSslServerCertificateValidation) { MailClient.ServerCertificateValidationCallback = (s, c, ch, e) => true; } }
/// <summary> /// Register a MailKit mailer with the factory. /// </summary> /// <param name="factory">The factory.</param> /// <param name="clientFunc">The client function.</param> /// <param name="mailerSettings">The mailer settings.</param> /// <param name="logger">The logger.</param> /// <param name="store">The history store.</param> public static void AddMkSmtpMailer( this MailerFactory factory, Func <SmtpClient> clientFunc, MkSmtpMailerSettings mailerSettings, ILogger <MkSmtpMailer> logger = null, IHistoryStore store = null) { factory.Register(() => new MkSmtpMailer( clientFunc(), mailerSettings, logger ?? factory.DefaultLoggerFactory?.CreateLogger <MkSmtpMailer>(), factory.ConfigureHistoryStoreLogger(store))); }
public JobWorker(ILifetimeScope scope, IJobDescriber describer, CancellationToken tk, IQueue q, IJobContext context, IHistoryStore hs) { this.ID = context.WorkerId; _scope = scope; Describer = describer; _linkedCTS = CancellationTokenSource.CreateLinkedTokenSource(tk); _q = q; _context = context; _logger = LogManager.GetLogger(Describer.Name); }
/// <summary> /// Registers a safety mailer proxy for a MailKit mailer. /// </summary> /// <param name="factory">The factory.</param> /// <param name="safetyMailerSettings">The safety mailer settings.</param> /// <param name="mailerSettings">The mailer settings.</param> /// <param name="logger">The logger.</param> /// <param name="store">The history store.</param> public static void AddSafetyMailer( this MailerFactory factory, SafetyMailerSettings safetyMailerSettings, MkSmtpMailerSettings mailerSettings, ILogger <MkSmtpMailer> logger = null, IHistoryStore store = null) { factory.Register(() => new SafetyMailer <MkSmtpMailer>( new MkSmtpMailer ( mailerSettings, logger ?? factory.DefaultLoggerFactory?.CreateLogger <MkSmtpMailer>(), factory.ConfigureHistoryStoreLogger(store) ), safetyMailerSettings)); }
/// <summary> /// Registers the specified mailer type. /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="TSettings">The type of the t settings.</typeparam> /// <param name="settings">The settings.</param> /// <param name="logger">The logger.</param> /// <param name="store">The store.</param> public virtual void Register <T, TSettings>(TSettings settings, ILogger logger = null, IHistoryStore store = null) where TSettings : class, IMailerSettings where T : Mailer <TSettings> { Register(() => { var ctor = typeof(T).GetConstructor(new[] { typeof(TSettings), typeof(ILogger), typeof(IHistoryStore) }); return((T)ctor.Invoke( new object[] { settings, logger ?? DefaultLoggerFactory?.CreateLogger(typeof(T)) ?? NullLogger.Instance, ConfigureHistoryStoreLogger(store) })); }); }
/// <summary> /// Registers a safety mailer proxy for the specified mailer type. /// </summary> /// <typeparam name="TMailer">The type of the t mailer.</typeparam> /// <typeparam name="TMailerSettings">The type of the t mailer settings.</typeparam> /// <param name="factory">The factory.</param> /// <param name="safetyMailerSettings">The safety mailer settings.</param> /// <param name="mailerSettings">The mailer settings.</param> /// <param name="logger">The logger.</param> /// <param name="store">The store.</param> public static void AddSafetyMailer <TMailer, TMailerSettings> ( this MailerFactory factory, SafetyMailerSettings safetyMailerSettings, TMailerSettings mailerSettings, ILogger <NullMailer> logger = null, IHistoryStore store = null ) where TMailer : class, IMailer <TMailerSettings> where TMailerSettings : class, IMailerSettings { factory.Register <SafetyMailer <TMailer>, SafetyMailerSettings, TMailer, TMailerSettings>( safetyMailerSettings, mailerSettings, logger ?? factory.DefaultLoggerFactory?.CreateLogger <NullMailer>(), factory.ConfigureHistoryStoreLogger(store)); }
/// <summary> /// Registers a safety mailer proxy for a SendGridMailer. /// </summary> /// <param name="factory">The factory.</param> /// <param name="safetyMailerSettings">The safety mailer settings.</param> /// <param name="clientFunc">The client function.</param> /// <param name="mailerSettings">The mailer settings.</param> /// <param name="logger">The logger.</param> /// <param name="store">The store.</param> public static void AddSafetyMailer ( this MailerFactory factory, SafetyMailerSettings safetyMailerSettings, Func <SendGridClient> clientFunc, SendGridMailerSettings mailerSettings, ILogger <SendGridMailer> logger = null, IHistoryStore store = null ) { factory.Register(() => new SafetyMailer <SendGridMailer>( new SendGridMailer ( clientFunc(), mailerSettings, logger ?? factory.DefaultLoggerFactory?.CreateLogger <SendGridMailer>(), factory.ConfigureHistoryStoreLogger(store) ), safetyMailerSettings)); }
public AsyncFhirService( IResourceStorageService storageService, IPagingService pagingService, ISearchService searchService, ITransactionService transactionService, ICapabilityStatementService capabilityStatementService, IHistoryStore historyService, IFhirResponseFactory responseFactory, ICompositeServiceListener serviceListener, IPatchService patchService) { _storageService = storageService; _pagingService = pagingService; _searchService = searchService; _transactionService = transactionService; _capabilityStatementService = capabilityStatementService; _historyService = historyService; _responseFactory = responseFactory; _serviceListener = serviceListener; _patchService = patchService; }
public JobWorker StartNew(ILifetimeScope scope, IJobDescriber describer, CancellationToken tk, IQueue q, IHistoryStore hs) { _ss.Wait(); var context = new JobContext(describer, Guid.NewGuid(), _broadcaster); var worker = new JobWorker(scope, describer, tk, q, context, hs); worker.Work(w => { Workers.TryRemove(w.ID, out JobWorker k); _ss.Release(); //this.broadcastServiceStatics(); }); Workers.TryAdd(worker.ID, worker); //this.broadcastServiceStatics(); return(worker); }
/// <summary> /// Registers the specified mailer type using a safety mailer proxy. /// </summary> /// <typeparam name="TProxy">The type of the t proxy.</typeparam> /// <typeparam name="TProxySettings">The type of the t proxy settings.</typeparam> /// <typeparam name="TMailer">The type of the t mailer.</typeparam> /// <typeparam name="TMailerSettings">The type of the t settings.</typeparam> /// <param name="settings">The settings.</param> /// <param name="proxySettings">The proxy settings.</param> /// <param name="logger">The logger.</param> /// <param name="store">The store.</param> public virtual void Register <TProxy, TProxySettings, TMailer, TMailerSettings>( IProxyMailerSettings proxySettings, TMailerSettings settings, ILogger logger = null, IHistoryStore store = null) where TProxy : class, IProxyMailer <TProxySettings, TMailer>, IMailer where TProxySettings : class, IProxyMailerSettings where TMailer : class, IMailer <TMailerSettings> where TMailerSettings : class, IMailerSettings { Register(() => { var mailerCtor = typeof(TMailer).GetConstructor(new[] { typeof(TMailerSettings), typeof(ILogger), typeof(IHistoryStore) }); var realMailer = (TMailer)mailerCtor?.Invoke( new object[] { settings, logger ?? DefaultLoggerFactory?.CreateLogger(typeof(TMailer)) ?? NullLogger.Instance, ConfigureHistoryStoreLogger(store) }); var proxyCtor = typeof(TProxy).GetConstructor(new[] { typeof(TMailer), typeof(TProxySettings) }); return((TProxy)proxyCtor?.Invoke( new object[] { realMailer, proxySettings })); }); }
public SendGridMailerFake(IOptions <SendGridMailerSettings> settings, ILogger <SendGridMailer> logger = null, IHistoryStore historyStore = null) : base(settings.Value, logger, historyStore) { }
/// <summary> /// Initializes a new instance of the <see cref="NullMailer" /> class. /// </summary> /// <param name="settings">The mailer settings.</param> /// <param name="logger">The logger.</param> /// <param name="historyStore">The history store.</param> public NullMailer(NullMailerSettings settings, ILogger logger = null, IHistoryStore historyStore = null) : base(settings, logger, historyStore) { }
public DropDb(AnsiConsole console, IHistoryStore history) : base(console) { Context = ((EntityHistoryStore <SqlHistoryContext>)history).GetHistoryContext(); }
/// <summary> /// Initializes a new instance of the <see cref="MailerFactory" /> class. /// </summary> /// <param name="defaultLoggerFactory">The default logger factory.</param> /// <param name="defaultHistoryStore">The default history store.</param> public MailerFactory(ILoggerFactory defaultLoggerFactory = null, IHistoryStore defaultHistoryStore = null) { DefaultLoggerFactory = defaultLoggerFactory; DefaultHistoryStore = defaultHistoryStore ?? NullHistoryStore.Instance; }
public Client(IHistoryStore historyStore) { this.HistoryStore = historyStore; }
/// <summary> /// Initializes a new instance of the <see cref="Mailer" /> class. /// </summary> /// <param name="settings">The mailer settings.</param> /// <param name="logger">The logger.</param> /// <param name="historyStore">The history store.</param> protected Mailer(TSettings settings, ILogger logger = null, IHistoryStore historyStore = null) { Settings = settings; Logger = logger ?? NullLogger.Instance; HistoryStore = historyStore ?? NullHistoryStore.Instance; }
public HistoryService(IHistoryStore historyStore) { this.historyStore = historyStore; }