public static IDatabaseIODevice UseStringDB ( [CanBeNull] this DatabaseIODeviceBuilder builder, StringDBVersion version, [NotNull] string file ) => builder.UseStringDB(version, file, NoByteBuffer.Read);
public static IDatabase <byte[], byte[]> UseIODatabase ( [CanBeNull] this DatabaseBuilder builder, StringDBVersion version, [NotNull] string file ) => builder.UseIODatabase(version, file, out _);
public static IDatabase <byte[], byte[]> UseIODatabase ( [CanBeNull] this DatabaseBuilder builder, StringDBVersion version, [NotNull] string file, [NotNull] out IOptimalTokenSource optimalTokenSource ) => builder.UseIODatabase(databaseIODeviceBuilder => databaseIODeviceBuilder.UseStringDB(version, file), out optimalTokenSource);
public static IDatabaseIODevice UseStringDB ( [CanBeNull] this DatabaseIODeviceBuilder builder, StringDBVersion version, [NotNull] Stream stream, bool leaveStreamOpen = false ) => builder.UseStringDB(version, stream, NoByteBuffer.Read, leaveStreamOpen);
public static IDatabase <string, string> Create ( [NotNull] Stream stream, StringDBVersion version, bool leaveStreamOpen ) => new DatabaseBuilder() .UseIODatabase((builder) => builder.UseStringDB(version, stream, leaveStreamOpen)) .WithTransform(StringTransformer.Default, StringTransformer.Default);
public void CreateWithStreamAndVersion(StringDBVersion version) { using (var db = StringDatabase.Create(new MemoryStream(), version, false)) { Insert(db); db.Should() .BeOfType <TransformDatabase <byte[], byte[], string, string> >(); } }
public static IDatabaseIODevice UseStringDB ( [CanBeNull] this DatabaseIODeviceBuilder builder, StringDBVersion version, [NotNull] Stream stream, bool leaveStreamOpen = false ) => new DatabaseIODevice ( version.UseVersion(stream, leaveStreamOpen) );
public static IDatabaseIODevice UseStringDB ( [CanBeNull] this DatabaseIODeviceBuilder builder, StringDBVersion version, [NotNull] Stream stream, [NotNull] Func <BinaryReader, int, byte[]> buffer, bool leaveStreamOpen = false ) => new DatabaseIODevice ( version.UseVersion(stream, buffer, leaveStreamOpen) );
private static ILowlevelDatabaseIODevice UseVersion ( this StringDBVersion version, [NotNull] Stream stream, bool leaveStreamOpen = false ) { switch (version) { case StringDBVersion.v5_0_0: return(new StringDB5_0_0LowlevelDatabaseIODevice(stream, leaveStreamOpen)); case StringDBVersion.v10_0_0: return(new StringDB10_0_0LowlevelDatabaseIODevice(stream, leaveStreamOpen)); default: throw new NotSupportedException($"Didn't expect a {version}"); } }
public static IDatabaseIODevice UseStringDB ( [CanBeNull] this DatabaseIODeviceBuilder builder, StringDBVersion version, [NotNull] string file ) => builder .UseStringDB ( version, File.Open ( file, FileMode.OpenOrCreate, FileAccess.ReadWrite ) );
public static IDatabaseIODevice UseStringDB ( [CanBeNull] this DatabaseIODeviceBuilder builder, StringDBVersion version, [NotNull] string file, [NotNull] Func <BinaryReader, int, byte[]> buffer, bool leaveStreamOpen = false ) => builder .UseStringDB ( version, File.Open ( file, FileMode.OpenOrCreate, FileAccess.ReadWrite ), buffer, leaveStreamOpen: leaveStreamOpen );