Пример #1
0
        public MainViewModel()
        {
            _viewManager = new ViewManager();


            _authManager = Externals.Resolve <IAuthManager>();
            _dialog      = Externals.Resolve <IDialog>();
            _persister   = new RemotePersister(_authManager);
            _refresher   = new Timer(x =>
            {
                var safeUI = Externals.Resolve <ISafeUI>();
                safeUI.Invoke(new Action(async() =>
                {
                    if (!ViewManager.IsReady)
                    {
                        return;
                    }

                    _syncCounter++;

                    var interval = Settings.RefreshInterval;

                    if (_syncCounter > 0 && _syncCounter % interval.Seconds == 0)
                    {
                        await Watcher.RestoreStateAsync();
                    }

                    RaiseAllPropertyChanged();
                }));
            },
                                     null, 0, 1000);

            Watcher = new InOutWatcher(_authManager, _dialog, _persister);
        }
Пример #2
0
 public Tracker(DbContext context, ISystemUser user, ILogPersister persister)
 {
     _dbContext    = context;
     _systemUser   = user;
     _logPersister = persister;
     _logBuilders  = new List <LogBuilder>();
 }
Пример #3
0
 public DefaultRaftServer(
     ILogPersister logPersister,
     IStatePersister statePersister,
     ISnapshotOperator snapshotOperator,
     IStateMachine stateMachine,
     IPeerManager peerManager,
     RaftServerSettings settings,
     Peer meAsAPeer = null,
     IChaos chaos   = null)
 {
     _logPersister     = logPersister;
     _peerManager      = peerManager;
     _stateMachine     = stateMachine;
     _snapshotOperator = snapshotOperator;
     _settings         = settings;
     _state            = new AutoPersistentState(statePersister);
     _meAsAPeer        = meAsAPeer ?? new Peer("NoAddress", State.Id);
     _chaos            = chaos ?? new NoChaos();
 }
Пример #4
0
        public void SetUp()
        {
            _logger = new FakeLogger();
            _logFetcher = new LogFetcher();
            _stateRecorder = new FakeStateRecorder();
            _logPersisterFactory = Substitute.For<LogPersisterFactory>();
            _logPersister = new FakePersister(); //Substitute.For<ILogPersister>();
            _logPersisterFactory.GetPersister(Arg.Any<string>(), Arg.Any<string>(), Arg.Any<string>()).Returns(
                _logPersister);
            _logProcessor = new LogProcessor(new W3CLogReaderFactory(_logger), _logFetcher, _stateRecorder,
                                             _logPersisterFactory, _logger);

            _source = new Configuration.source();
            _source.destination = new Configuration.source.logDestination();
            _source.id = "int.test";
            _source.conversions.Add(new Configuration.source.conversion {elementName = "sc-status", type = "int"});

            _source.logDirectory = "../../Logs/";
            _source.destination.mongoConnectionString = "blarg";
            _source.destination.mongoCollection = "blarg";
            _source.destination.mongoDatabase = "blarg";
        }
Пример #5
0
 public InOutWatcher(IAuthManager authManager, IDialog dialog, ILogPersister persister)
 {
     _authManager = authManager;
     _dialog      = dialog;
     _persister   = persister;
 }
Пример #6
0
 public RemotePersister(IAuthManager authManager)
 {
     _authManager       = authManager;
     _fallbackPersister = new LocalPersister(_authManager);
     IsLocalMode        = false;
 }