public ObservationRecordingManager(IValueAggregator valueAggregator, IEnumerable<IValueRecordingTrigger> triggers, IValueRecorder recorder, TimeSpan? minTimeBetweenRecordings = null)
 {
     ValueRecorder = recorder;
     RecordingTriggers = new Collection<IValueRecordingTrigger>(triggers.ToList());
     ValueAggregator = valueAggregator;
     m_minTimeBetweenRecording = minTimeBetweenRecordings ?? TimeSpan.Zero;
 }
        public ClusterNode(ClusterContext context, IConnectionPoolFactory connectionPoolFactory, ILogger <ClusterNode> logger,
                           ObjectPool <OperationBuilder> operationBuilderPool, ICircuitBreaker circuitBreaker, ISaslMechanismFactory saslMechanismFactory,
                           IRedactor redactor, IPEndPoint endPoint, BucketType bucketType, NodeAdapter nodeAdapter, IRequestTracer tracer, IValueRecorder valueRecorder)
        {
            _context              = context ?? throw new ArgumentNullException(nameof(context));
            _logger               = logger ?? throw new ArgumentNullException(nameof(logger));
            _circuitBreaker       = circuitBreaker ?? throw new ArgumentException(nameof(circuitBreaker));
            _operationBuilderPool =
                operationBuilderPool ?? throw new ArgumentNullException(nameof(operationBuilderPool));
            _saslMechanismFactory = saslMechanismFactory ?? throw new ArgumentException(nameof(saslMechanismFactory));
            _redactor             = redactor ?? throw new ArgumentNullException(nameof(redactor));
            _tracer        = tracer;
            BucketType     = bucketType;
            EndPoint       = endPoint ?? throw new ArgumentNullException(nameof(endPoint));
            _valueRecorder = valueRecorder ?? throw new ArgumentNullException(nameof(valueRecorder));

            _cachedToString = $"{EndPoint}-{_id}";

            KeyEndPoints = new ReadOnlyObservableCollection <IPEndPoint>(_keyEndPoints);
            UpdateKeyEndPoints();
            ((INotifyCollectionChanged)_keyEndPoints).CollectionChanged += (_, e) => OnKeyEndPointsChanged(e);

            if (connectionPoolFactory == null)
            {
                throw new ArgumentNullException(nameof(connectionPoolFactory));
            }

            ConnectionPool = connectionPoolFactory.Create(this);

            if (nodeAdapter != null)
            {
                NodesAdapter = nodeAdapter;
            }
        }
Example #3
0
 public static AnalyticsRequest Create(string statement, IValueRecorder recorder, AnalyticsOptions options)
 {
     return(new(options.ReadonlyValue)
     {
         RetryStrategy = options.RetryStrategyValue ?? new BestEffortRetryStrategy(),
         Timeout = options.TimeoutValue !.Value,
         ClientContextId = options.ClientContextIdValue,
         Statement = statement,
         Token = options.Token,
         Options = options,
         Recorder = recorder
     });