Documentation
¶
Index ¶
- Constants
- Variables
- func CheckFooter(input store.ChecksumIndexInput) error
- func CheckHeader(ctx context.Context, in store.DataInput, codec string, ...) (int, error)
- func CheckHeaderNoMagic(ctx context.Context, in store.DataInput, codec string, ...) (int, error)
- func CheckIndexHeaderSuffix(in store.DataInput, expectedSuffix string) (string, error)
- func FooterLength() int
- func NewLine(out store.DataOutput) error
- func ParseInt(scratch *bytes.Buffer, prefix []byte) (int, error)
- func ReadLine(in store.IndexInput, buf *bytes.Buffer) error
- func ReadValue(out store.IndexInput, label []byte, buf *bytes.Buffer) (string, error)
- func WriteBytes(out store.DataOutput, bs []byte) error
- func WriteChecksum(out store.IndexOutput) error
- func WriteFooter(out store.IndexOutput) error
- func WriteHeader(ctx context.Context, out store.DataOutput, codec string, version int) error
- func WriteIndexHeader(ctx context.Context, out store.DataOutput, codec string, version int, ...) error
- func WriteString(out store.DataOutput, s string) error
- type Buffer
- type TextReader
- func (t *TextReader) ParseBoolPrefix(prefix []byte) (bool, error)
- func (t *TextReader) ParseBytes(label []byte) ([]byte, error)
- func (t *TextReader) ParseInt(prefix []byte) (int, error)
- func (t *TextReader) ParseInt64(prefix []byte) (int64, error)
- func (t *TextReader) ParseString(label []byte) (string, error)
- func (t *TextReader) ReadLabel(label []byte) (string, error)
- func (t *TextReader) ReadLine() error
- func (t *TextReader) StartsWith(label []byte) (bool, error)
- type TextWriter
- func (t *TextWriter) Bytes(bs []byte) error
- func (t *TextWriter) Checksum() error
- func (t *TextWriter) Int(v int) error
- func (t *TextWriter) Long(v int64) error
- func (t *TextWriter) NewLine() error
- func (t *TextWriter) String(v string) error
- func (t *TextWriter) Write(v any) error
- func (t *TextWriter) WriteLabelBool(label []byte, v bool) error
- func (t *TextWriter) WriteLabelBytes(label, v []byte) error
- func (t *TextWriter) WriteLabelInt(label []byte, v int) error
- func (t *TextWriter) WriteLabelLong(label []byte, v int64) error
- func (t *TextWriter) WriteLabelString(label []byte, v string) error
Constants ¶
const ( CODEC_MAGIC = 0x3fd76c17 FOOTER_MAGIC = 0xc02893e8 )
const (
ID_LENGTH = 16
)
Variables ¶
var ( NEWLINE = byte('\n') ESCAPE = byte('\\') CHECKSUM = []byte("checksum ") )
Functions ¶
func CheckFooter ¶
func CheckFooter(input store.ChecksumIndexInput) error
func CheckHeader ¶
func CheckHeader(ctx context.Context, in store.DataInput, codec string, minVersion, maxVersion int) (int, error)
CheckHeader Reads and validates a header previously written with writeHeader(DataOutput, String, int). When reading a file, supply the expected codec and an expected version range (minVersion to maxVersion). in: Input stream, positioned at the point where the header was previously written. Typically this is located at the beginning of the file. codec – The expected codec name. minVersion – The minimum supported expected version number. maxVersion – The maximum supported expected version number. Returns: The actual version found, when a valid header is found that matches codec, with an actual version where minVersion <= actual <= maxVersion. Otherwise an exception is thrown. Throws: CorruptIndexException – If the first four bytes are not CODEC_MAGIC, or if the actual codec found is not codec. IndexFormatTooOldException – If the actual version is less than minVersion. IndexFormatTooNewException – If the actual version is greater than maxVersion. IOException – If there is an I/O error reading from the underlying medium.
See Also: writeHeader(DataOutput, String, int)
func CheckHeaderNoMagic ¶
func CheckHeaderNoMagic(ctx context.Context, in store.DataInput, codec string, minVersion, maxVersion int) (int, error)
CheckHeaderNoMagic Like checkHeader(DataInput, String, int, int) except this version assumes the first int has already been read and validated from the input.
func CheckIndexHeaderSuffix ¶
func FooterLength ¶
func FooterLength() int
FooterLength Computes the length of a codec footer. Returns: length of the entire codec footer. See Also: writeFooter(IndexOutput)
func NewLine ¶
func NewLine(out store.DataOutput) error
func WriteBytes ¶
func WriteBytes(out store.DataOutput, bs []byte) error
func WriteChecksum ¶
func WriteChecksum(out store.IndexOutput) error
func WriteFooter ¶
func WriteFooter(out store.IndexOutput) error
WriteFooter Writes a codec footer, which records both a checksum algorithm ID and a checksum. This footer can be parsed and validated with checkFooter(). CodecFooter --> Magic,AlgorithmID,Checksum Magic --> Uint32. This identifies the start of the footer. It is always -1071082520. AlgorithmID --> Uint32. This indicates the checksum algorithm used. Currently this is always 0, for zlib-crc32. Checksum --> Uint64. The actual checksum value for all previous bytes in the stream, including the bytes from Magic and AlgorithmID. Params: out – Output stream Throws: IOException – If there is an I/O error writing to the underlying medium.
func WriteHeader ¶
WriteHeader Writes a codec header, which records both a string to identify the file and a version number. This header can be parsed and validated with checkHeader(). CodecHeader --> Magic,CodecName,Version Magic --> Uint32. This identifies the start of the header. It is always 1071082519. CodecName --> String. This is a string to identify this file. Version --> Uint32. Records the version of the file. Note that the length of a codec header depends only upon the name of the codec, so this length can be computed at any time with headerLength(String). out: Output stream codec: String to identify this file. It should be simple ASCII, less than 128 characters in length. version: Version number Throws: IOException – If there is an I/O error writing to the underlying medium.
IllegalArgumentException – If the codec name is not simple ASCII, or is more than 127 characters in length
func WriteIndexHeader ¶
func WriteString ¶
func WriteString(out store.DataOutput, s string) error
Types ¶
type TextReader ¶
type TextReader struct {
// contains filtered or unexported fields
}
func NewTextReader ¶
func NewTextReader(in store.IndexInput, buf *bytes.Buffer) *TextReader
func (*TextReader) ParseBoolPrefix ¶
func (t *TextReader) ParseBoolPrefix(prefix []byte) (bool, error)
func (*TextReader) ParseBytes ¶
func (t *TextReader) ParseBytes(label []byte) ([]byte, error)
func (*TextReader) ParseInt64 ¶
func (t *TextReader) ParseInt64(prefix []byte) (int64, error)
func (*TextReader) ParseString ¶
func (t *TextReader) ParseString(label []byte) (string, error)
func (*TextReader) ReadLine ¶
func (t *TextReader) ReadLine() error
func (*TextReader) StartsWith ¶
func (t *TextReader) StartsWith(label []byte) (bool, error)
type TextWriter ¶
type TextWriter struct {
// contains filtered or unexported fields
}
func NewTextWriter ¶
func NewTextWriter(out store.IndexOutput) *TextWriter
func (*TextWriter) Bytes ¶
func (t *TextWriter) Bytes(bs []byte) error
func (*TextWriter) Checksum ¶
func (t *TextWriter) Checksum() error
func (*TextWriter) Int ¶
func (t *TextWriter) Int(v int) error
func (*TextWriter) Long ¶
func (t *TextWriter) Long(v int64) error
func (*TextWriter) NewLine ¶
func (t *TextWriter) NewLine() error
func (*TextWriter) String ¶
func (t *TextWriter) String(v string) error
func (*TextWriter) Write ¶
func (t *TextWriter) Write(v any) error
func (*TextWriter) WriteLabelBool ¶
func (t *TextWriter) WriteLabelBool(label []byte, v bool) error
func (*TextWriter) WriteLabelBytes ¶
func (t *TextWriter) WriteLabelBytes(label, v []byte) error
func (*TextWriter) WriteLabelInt ¶
func (t *TextWriter) WriteLabelInt(label []byte, v int) error
func (*TextWriter) WriteLabelLong ¶
func (t *TextWriter) WriteLabelLong(label []byte, v int64) error
func (*TextWriter) WriteLabelString ¶
func (t *TextWriter) WriteLabelString(label []byte, v string) error