public AWSBufferedSink(string id, string sessionName, IAppDataFileProvider appDataFileProvider, ILogger logger, IMetrics metrics, IBookmarkManager bookmarkManager, NetworkStatus networkStatus, AWSBufferedSinkOptions options) { Id = id; _logger = logger; _metrics = metrics; _bookmarkManager = bookmarkManager; _networkStatus = networkStatus; _bufferIntervalMs = options.BufferIntervalMs; _format = options.Format; _maxSecondaryQueueBatches = options.QueueMaxBatches; var secondaryQueue = CreateSecondaryQueue(options, sessionName, appDataFileProvider, logger); _queue = new AsyncBatchQueue <Envelope <T> >(options.QueueSizeItems, new long[] { options.MaxBatchSize, options.MaxBatchBytes }, new Func <Envelope <T>, long>[] { r => 1, GetRecordSize }, secondaryQueue); _maxAttempts = options.MaxAttempts; _jittingFactor = options.JittingFactor; _backoffFactor = options.BackoffFactor; _recoveryFactor = options.RecoveryFactor; _minRateAdjustmentFactor = options.MinRateAdjustmentFactor; _uploadNetworkPriority = options.UploadNetworkPriority; if (options.TextDecoration is not null) { _textDecorationEvaluator = new TextDecorationEvaluator(options.TextDecoration, ResolveRecordVariables); } if (options.TextDecorationEx is not null) { _textDecorationEvaluator = new TextDecorationExEvaluator(options.TextDecorationEx, EvaluateVariable, ResolveRecordVariable, logger); } if (options.ObjectDecoration is not null) { _objectDecorationEvaluator = new ObjectDecorationEvaluator(options.ObjectDecoration, ResolveRecordVariables); } if (options.ObjectDecorationEx is not null) { _objectDecorationEvaluator = new ObjectDecorationExEvaluator(options.ObjectDecorationEx, EvaluateVariable, ResolveRecordVariable, logger); } }
public EventSink(IPlugInContext context) { _context = context; _logger = context.Logger; _config = context.Configuration; _metrics = context.Metrics; Id = _config?[ConfigConstants.ID]; _format = _config?[ConfigConstants.FORMAT]; string textDecoration = _config?[ConfigConstants.TEXT_DECORATION]; if (!string.IsNullOrWhiteSpace(textDecoration)) { _textDecorationEvaluator = new TextDecorationEvaluator(textDecoration, ResolveRecordVariables); } string textDecorationEx = _config?[ConfigConstants.TEXT_DECORATION_EX]; if (!string.IsNullOrWhiteSpace(textDecorationEx)) { _textDecorationEvaluator = new TextDecorationExEvaluator(textDecorationEx, EvaluateVariable, ResolveRecordVariable, context); } string objectDecoration = _config?[ConfigConstants.OBJECT_DECORATION]; if (!string.IsNullOrWhiteSpace(objectDecoration)) { _objectDecorationEvaluator = new ObjectDecorationEvaluator(objectDecoration, ResolveRecordVariables); } string objectDecorationEx = _config?[ConfigConstants.OBJECT_DECORATION_EX]; if (!string.IsNullOrWhiteSpace(objectDecorationEx)) { _objectDecorationEvaluator = new ObjectDecorationExEvaluator(objectDecorationEx, EvaluateVariable, ResolveRecordVariable, context); } ValidateConfig(); }