public const int BinaryMagicHeader = 0x564B4256; // VBKV public KV1BinaryReader(Stream stream, IVisitationListener listener) { Require.NotNull(stream, nameof(stream)); Require.NotNull(listener, nameof(listener)); if (!stream.CanSeek) { throw new ArgumentException("Stream must be seekable", nameof(stream)); } this.stream = stream; this.listener = listener; reader = new BinaryReader(stream, Encoding.UTF8, leaveOpen: true); }
public Kv1BinaryReader(Stream stream, IVisitationListener listener, KvSerializerOptions options) { Require.NotNull(stream, nameof(stream)); Require.NotNull(listener, nameof(listener)); _isVbkv = options.HasVbkvHeader; if (_isVbkv) { _terminator = Kv1BinaryNodeType.EndVbkv; } if (!stream.CanSeek) { throw new ArgumentException("Stream must be seekable", nameof(stream)); } _stream = stream; _listener = listener; _reader = new BinaryReader(stream, Encoding.UTF8, true); }
public KVObjectVisitor(IVisitationListener listener) { Require.NotNull(listener, nameof(listener)); this.listener = listener; }