예제 #1
0
 public TsdbClient(
     IStorageSelector <TKey, TEntry> storageSelector,
     IPublishSubscribe <TKey, TEntry> remotePublishSubscribe,
     ITsdbLogger logger)
     : this(storageSelector, remotePublishSubscribe, null, logger)
 {
 }
예제 #2
0
 public TsdbClient(
     IStorageSelector <TKey, TEntry> storageSelector,
     ITemporaryStorage <TKey, TEntry> temporaryStorage,
     ITsdbLogger logger)
     : this(storageSelector, null, temporaryStorage, logger)
 {
 }
예제 #3
0
 public TsdbEngine(IWorkProvider <TKey> workProvider, TsdbClient <TKey, TEntry> client, ITsdbLogger logger)
 {
     _client        = client;
     _workProvider  = workProvider;
     _logger        = logger;
     _scheduler     = new EventScheduler();
     _scheduledWork = new Dictionary <TKey, TsdbScheduledMoval <TKey, TEntry> >();
 }
예제 #4
0
 public TsdbClient(
     IDynamicStorageSelector <TKey, TEntry> dynamicStorageSelector,
     IVolumeStorageSelector <TKey, TEntry> volumeStorageSelector,
     ITemporaryStorage <TKey, TEntry> temporaryStorage,
     ITsdbLogger logger)
     : this(dynamicStorageSelector, volumeStorageSelector, null, temporaryStorage, logger)
 {
 }
예제 #5
0
 public TsdbClient(
     IDynamicStorageSelector <TKey, TEntry> dynamicStorageSelector,
     IVolumeStorageSelector <TKey, TEntry> volumeStorageSelector,
     IPublishSubscribe <TKey, TEntry> remotePublishSubscribe,
     ITsdbLogger logger)
     : this(dynamicStorageSelector, volumeStorageSelector, remotePublishSubscribe, null, logger)
 {
 }
예제 #6
0
 public TsdbClient(
     IStorageSelector <TKey, TEntry> storageSelector,
     IPublishSubscribe <TKey, TEntry> remotePublishSubscribe,
     ITemporaryStorage <TKey, TEntry> temporaryStorage,
     ITsdbLogger logger)
 {
     _storageSelector        = storageSelector;
     _remotePublishSubscribe = remotePublishSubscribe;
     _temporaryStorage       = temporaryStorage;
     _localPublishSubscribe  = new DefaultPublishSubscribe <TKey, TEntry>(false);
     _logger = logger;
 }
예제 #7
0
        public RedisPublishSubscribe(string connectionString, string prefix, ITsdbLogger logger, IKeyConverter <TKey> keyConverter)
            : base(false)
        {
            _connection            = new RedisConnection(connectionString, prefix, logger);
            _waitWhileDisconnected = new TaskCompletionSource <bool>();
            _keyConverter          = keyConverter;
            _logger = logger;

            ThreadPool.QueueUserWorkItem(_ =>
            {
                var ignore = ConnectWithRetry();
            });
        }
예제 #8
0
 public TsdbWriteBatcher(
     TsdbClient <TKey, TEntry> client,
     PublicationType publish,
     TimeSpan writeInterval,
     int maxBatchSize,
     ITsdbLogger logger)
 {
     _client        = client;
     _writeInterval = writeInterval;
     _publish       = publish;
     _maxBatchSize  = maxBatchSize;
     _batches       = new Queue <BatchWrite <TKey, TEntry> >();
     _cts           = new CancellationTokenSource();
     _logger        = logger;
 }
예제 #9
0
 public TsdbClient(
     IDynamicStorageSelector <TKey, TEntry> dynamicStorageSelector,
     IVolumeStorageSelector <TKey, TEntry> volumeStorageSelector,
     IPublishSubscribe <TKey, TEntry> remotePublishSubscribe,
     ITemporaryStorage <TKey, TEntry> temporaryStorage,
     ITsdbLogger logger)
 {
     _dynamicStorageSelector = dynamicStorageSelector;
     _volumeStorageSelector  = volumeStorageSelector;
     _remotePublishSubscribe = remotePublishSubscribe;
     _temporaryStorage       = temporaryStorage;
     _localPublishSubscribe  = new DefaultPublishSubscribe <TKey, TEntry>(false);
     _logger     = logger;
     _migrations = new MigrationProvider <TKey, TEntry>(_dynamicStorageSelector, _volumeStorageSelector);
 }
예제 #10
0
 public TsdbWriteBatcher(
     TsdbClient <TKey, TEntry> client,
     PublicationType publishType,
     Publish publishMode,
     bool useTempStorage,
     TimeSpan writeInterval,
     int maxBatchSize,
     ITsdbLogger logger)
 {
     _client         = client;
     _writeInterval  = writeInterval;
     _publishType    = publishType;
     _publishMode    = publishMode;
     _useTempStorage = useTempStorage;
     _maxBatchSize   = maxBatchSize;
     _batches        = new Queue <BatchWrite <TKey, TEntry> >();
     _cts            = new CancellationTokenSource();
     _logger         = logger;
 }
예제 #11
0
 public AggregationTsdbClient(IStorageSelector <TKey, TEntry> storageSelector, ITypedKeyStorage <TKey, TMeasureType> typedKeyStorage, ITsdbLogger logger)
 {
     _typedKeyStorage = typedKeyStorage;
     _storageSelector = storageSelector;
     _logger          = logger;
 }
예제 #12
0
 public RedisConnection(string connectionString, string prefix, ITsdbLogger logger)
 {
     _connectionString = connectionString;
     _prefix           = prefix;
     _logger           = logger;
 }
예제 #13
0
 public RedisPublishSubscribe(string connectionString, string prefix, ITsdbLogger logger)
     : this(connectionString, prefix, logger, DefaultKeyConverter <TKey> .Current)
 {
 }