public ArrowStreamWriter(Stream baseStream, Schema schema, bool leaveOpen, IpcOptions options) { BaseStream = baseStream ?? throw new ArgumentNullException(nameof(baseStream)); Schema = schema ?? throw new ArgumentNullException(nameof(schema)); _leaveOpen = leaveOpen; Buffers = ArrayPool <byte> .Create(); Builder = new FlatBufferBuilder(1024); HasWrittenSchema = false; _fieldTypeBuilder = new ArrowTypeFlatbufferBuilder(Builder); _options = options ?? IpcOptions.Default; }
public ArrowFileWriter(Stream stream, Schema schema, bool leaveOpen, IpcOptions options) : base(stream, schema, leaveOpen, options) { if (!stream.CanWrite) { throw new ArgumentException("stream must be writable", nameof(stream)); } // TODO: Remove seek requirement if (!stream.CanSeek) { throw new ArgumentException("stream must be seekable", nameof(stream)); } RecordBatchBlocks = new List <Block>(); }