public SqliteStreamStoreFixture() { var connectionString = $"Data Source={System.IO.Path.GetTempFileName()};Cache=Shared;"; _settings = new SqliteStreamStoreSettings(connectionString) { GetUtcNow = () => GetUtcNow(), }; }
public SqliteStreamStore(SqliteStreamStoreSettings settings) : base(settings.MetadataMaxAgeCacheExpire, settings.MetadataMaxAgeCacheMaxSize, settings.GetUtcNow, settings.LogName) { _settings = settings; SqliteCommandExtensions.WithSettings(settings); _streamStoreNotifier = new Lazy <IStreamStoreNotifier>(() => { if (_settings.CreateStreamStoreNotifier == null) { throw new InvalidOperationException( "Cannot create notifier because supplied createStreamStoreNotifier was null"); } return(settings.CreateStreamStoreNotifier.Invoke(this)); }); _resolveNextVersion = (messages, direction, currentVersion) => { if (messages.Any()) { var mVers = messages.Last().StreamVersion; mVers = direction == ReadDirection.Forward ? mVers + 1 : mVers < StreamVersion.Start ? StreamVersion.Start : mVers - 1; return(mVers); } currentVersion = direction == ReadDirection.Forward ? currentVersion + 1 : currentVersion == StreamVersion.End ? StreamVersion.End : currentVersion - 1; return(currentVersion); }; }
public AllStreamOperations(SqliteConnection connection, SqliteStreamStoreSettings settings) { _connection = connection; _settings = settings; }
public static void WithSettings(SqliteStreamStoreSettings settings) => _settings = settings;