Пример #1
0
 public AvroRepository(IAvroFileValueDef <V> valueDef, string rootDirectory, IValueLocationStrategy valueLocationStrategy, Codec.Type codec)
 {
     ValueDef              = Preconditions.CheckNotNullArgument(valueDef);
     RootDirectory         = Preconditions.CheckNotNullArgument(rootDirectory);
     ValueLocationStrategy = Preconditions.CheckNotNullArgument(valueLocationStrategy);
     Codec = codec;
 }
Пример #2
0
        public AvroWriter(IAvroFileValueDef <V> valueDef, FileStream stream, Codec.Type codec) : base(valueDef, stream)
        {
            Preconditions.CheckArgument(Stream.CanWrite);
            var datumWriter = new GenericDatumWriter <GenericRecord>(ValueDef.Schema);

            mWriter = DataFileWriter <GenericRecord> .OpenWriter(datumWriter, Stream, Codec.CreateCodec(codec));

            Stream.Position = Stream.Length;
        }
Пример #3
0
 public AvroRandomAccessReader(IAvroFileValueDef <V> valueDef, FileStream stream, AvroRandomAccessIndex <V> index = null)
     : base(valueDef, stream)
 {
     Preconditions.CheckArgument(Stream.CanSeek);
     Index = index ?? new AvroRandomAccessIndex <V>(IndexFileName);
     if (index == null)
     {
         Preconditions.CheckState(File.Exists(IndexFileName), "Random access index is not available");
         Index.Read();
     }
 }
Пример #4
0
 public AvroRandomAccessWriter(IAvroFileValueDef <V> valueDef, string fileName, AvroRandomAccessIndex <V> index = null, FileShare share = FileShare.None)
     : base(valueDef, new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite, share))
 {
     Index = index ?? new AvroRandomAccessIndex <V>(IndexFileName);
     if (index == null)
     {
         if (File.Exists(IndexFileName))
         {
             Index.Read();
         }
         else
         {
             BuildIndex();
         }
     }
 }
Пример #5
0
 public AvroRandomAccessWriter(IAvroFileValueDef <V> valueDef, FileStream stream, AvroRandomAccessIndex <V> index)
     : base(valueDef, stream)
 {
     Preconditions.CheckArgument(Stream.CanSeek);
     Index = index ?? new AvroRandomAccessIndex <V>(IndexFileName);
     if (index == null)
     {
         if (File.Exists(IndexFileName))
         {
             Index.Read();
         }
         else
         {
             BuildIndex();
         }
     }
 }
Пример #6
0
 public AvroRepository(IAvroFileValueDef <V> valueDef, string rootDirectory, Codec.Type codec)
     : this(valueDef, rootDirectory, new FilePerDayLocationStrategy(rootDirectory), codec)
 {
     Preconditions.CheckArgument(Directory.Exists(rootDirectory));
 }
Пример #7
0
 public AvroReader(IAvroFileValueDef <V> valueDef, string fileName, FileShare share = FileShare.None)
     : this(valueDef, new FileStream(fileName, FileMode.Open, FileAccess.Read, share))
 {
 }
Пример #8
0
 public AvroReader(IAvroFileValueDef <V> valueDef, FileStream stream) : base(valueDef, stream)
 {
     Preconditions.CheckArgument(Stream.CanRead);
     Reset();
 }
Пример #9
0
 public AvroRandomAccessWriter(IAvroFileValueDef <V> valueDef, string fileName, Codec.Type codec, FileShare share = FileShare.None)
     : base(valueDef, new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite, share), codec)
 {
     Index = new AvroRandomAccessIndex <V>(IndexFileName);
 }
Пример #10
0
 public AvroRandomAccessWriter(IAvroFileValueDef <V> valueDef, FileStream stream, Codec.Type codec)
     : base(valueDef, stream, codec)
 {
     Preconditions.CheckArgument(Stream.CanSeek);
     Index = new AvroRandomAccessIndex <V>(IndexFileName);
 }
Пример #11
0
 public AvroRandomAccessReader(IAvroFileValueDef <V> valueDef, string fileName, AvroRandomAccessIndex <V> index = null, FileShare share = FileShare.None)
     : this(valueDef, new FileStream(fileName, FileMode.Open, FileAccess.Read, share), index)
 {
 }
Пример #12
0
 protected AvroFileAccess(IAvroFileValueDef <V> valueDef, FileStream stream)
 {
     ValueDef = Preconditions.CheckNotNullArgument(valueDef);
     Stream   = Preconditions.CheckNotNullArgument(stream);
 }
Пример #13
0
 public AvroWriter(IAvroFileValueDef <V> valueDef, string fileName, Codec.Type codec, FileShare share = FileShare.None)
     : this(valueDef, new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite, share), codec)
 {
 }