コード例 #1
0
 public static IDatabaseIODevice UseStringDB
 (
     [CanBeNull] this DatabaseIODeviceBuilder builder,
     StringDBVersion version,
     [NotNull] string file
 )
 => builder.UseStringDB(version, file, NoByteBuffer.Read);
コード例 #2
0
 public static IDatabase <byte[], byte[]> UseIODatabase
 (
     [CanBeNull] this DatabaseBuilder builder,
     StringDBVersion version,
     [NotNull] string file
 )
 => builder.UseIODatabase(version, file, out _);
コード例 #3
0
 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);
コード例 #4
0
 public static IDatabaseIODevice UseStringDB
 (
     [CanBeNull] this DatabaseIODeviceBuilder builder,
     StringDBVersion version,
     [NotNull] Stream stream,
     bool leaveStreamOpen = false
 )
 => builder.UseStringDB(version, stream, NoByteBuffer.Read, leaveStreamOpen);
コード例 #5
0
ファイル: StringDatabase.cs プロジェクト: zendbit/StringDB
 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);
コード例 #6
0
        public void CreateWithStreamAndVersion(StringDBVersion version)
        {
            using (var db = StringDatabase.Create(new MemoryStream(), version, false))
            {
                Insert(db);

                db.Should()
                .BeOfType <TransformDatabase <byte[], byte[], string, string> >();
            }
        }
コード例 #7
0
 public static IDatabaseIODevice UseStringDB
 (
     [CanBeNull] this DatabaseIODeviceBuilder builder,
     StringDBVersion version,
     [NotNull] Stream stream,
     bool leaveStreamOpen = false
 )
 => new DatabaseIODevice
 (
     version.UseVersion(stream, leaveStreamOpen)
 );
コード例 #8
0
 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)
 );
コード例 #9
0
        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}");
            }
        }
コード例 #10
0
 public static IDatabaseIODevice UseStringDB
 (
     [CanBeNull] this DatabaseIODeviceBuilder builder,
     StringDBVersion version,
     [NotNull] string file
 )
 => builder
 .UseStringDB
 (
     version,
     File.Open
     (
         file,
         FileMode.OpenOrCreate,
         FileAccess.ReadWrite
     )
 );
コード例 #11
0
 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
 );