public override async Task <HttpStatusCode[]> SendToApi(Message <byte[], MessageData.MessageData>[] messages, CancellationToken cancellationToken) { for (var i = 0; i < Count; i++) { Tasks[i] = ApiSender.Send(messages[i].Value, cancellationToken, BrokerStrategy.EventsRetry); } return(await Task.WhenAll(Tasks.Take(Count))); }
protected Broker(Consumer <T> consumer, Producer <byte[]> byteProducer, Producer <MessageData.MessageData> messageDataProducer, IOptionsMonitor <CommonConfig> commonConfig, ApiSender apiSender) { Consumer = consumer; ByteProducer = byteProducer; MessageDataProducer = messageDataProducer; CommonConfig = commonConfig; ApiSender = apiSender; Tasks = new Task <HttpStatusCode> [commonConfig.CurrentValue.BatchSize]; }
public async void Initialize() { TaihaToolkit.RegisterComponents(WPFComponent.Instance); TelemetryClient.TrackEvent("PluginLoaded"); // Set a hook to detect app crash try { var app = LocalizationUtil.GetApplication(); app.DispatcherUnhandledException += App_DispatcherUnhandledException; } catch (Exception ex) { TelemetryClient.TrackException("Failed to set set a hook to detect app crash.", ex); } // Obtain default app culture try { ResourceHolder.Instance.Culture = LocalizationUtil.GetCurrentAppCulture(); UpdateChineseCulture(); } catch (Exception ex) { TelemetryClient.TrackException("Failed to get default app culture.", ex); } // Initialize KCVDB client try { var sessionId = Guid.NewGuid().ToString(); apiSender_ = new ApiSender(sessionId); viewModel_ = new ToolViewViewModel( apiSender_.KcvdbClient, sessionId, new WPFDispatcher(Dispatcher.CurrentDispatcher)); } catch (Exception ex) { TelemetryClient.TrackException("Failed to initialize KCVDB client.", ex); } Settings.Default.PropertyChanged += Settings_PropertyChanged; TelemetryClient.TrackEvent("PluginInitialized"); try { await CheckForUpdate(); } catch (Exception ex) { TelemetryClient.TrackException("Failed to check the latest version.", ex); if (ex.IsCritical()) { throw; } } }
public void Handle(ServiceCallMessage message) { ApiSender.CallApi(message); }
public RetryBroker(Consumer <MessageData.MessageData> consumer, Producer <byte[]> byteProducer, Producer <MessageData.MessageData> messageDataProducer, IOptionsMonitor <CommonConfig> commonConfig, ApiSender apiSender, ILogger <RetryBroker> logger) : base(consumer, byteProducer, messageDataProducer, commonConfig, apiSender) { Consumer.Subscribe(BrokerStrategy.EventsRetry); _logger = logger; }
public MainBroker(Consumer <byte[]> consumer, Producer <byte[]> byteProducer, Producer <MessageData.MessageData> messageDataProducer, IOptionsMonitor <CommonConfig> commonConfig, ApiSender apiSender) : base(consumer, byteProducer, messageDataProducer, commonConfig, apiSender) { Consumer.Subscribe(BrokerStrategy.EventsDefault); }
public SomeEventsBroker(Consumer <byte[]> consumer, Producer <byte[]> byteProducer, Producer <MessageData.MessageData> messageDataProducer, IOptionsMonitor <CommonConfig> commonConfig, ApiSender apiSender, IServiceClient serviceClient) : base(consumer, byteProducer, messageDataProducer, commonConfig, apiSender) { _serviceClient = serviceClient; Consumer.Subscribe(BrokerStrategy.EventsDefault); }