Ejemplo n.º 1
0
 public LogConsistencyProvider(
     SnapshotStorageLogConsistencyOptions options,
     IGrainEventStorage eventStorage,
     Func <SnapshotStrategyInfo, bool> snapshotStrategy)
 {
     _options          = options;
     _eventStorage     = eventStorage;
     _snapshotStrategy = snapshotStrategy;
 }
        public LogViewAdaptor(
            ILogViewAdaptorHost <TLogView, TLogEntry> host,
            TLogView initialState,
            IGrainStorage grainStorage,
            string grainTypeName,
            Func <SnapshotStrategyInfo, bool> snapshotStrategy,
            ILogConsistencyProtocolServices services,
            bool useIndependentEventStorage,
            IGrainEventStorage eventStorage)
            : base(host, initialState, services)
        {
            _grainStorage               = grainStorage;
            _grainTypeName              = grainTypeName;
            _snapshotStrategy           = snapshotStrategy;
            _useIndependentEventStorage = useIndependentEventStorage;

            if (useIndependentEventStorage)
            {
                _eventStorage = eventStorage
                                ?? throw new ArgumentNullException(nameof(eventStorage),
                                                                   "Must set eventStorage when useIndependentEventStorage is true");
            }
        }