Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HashfileReader ¶
type HashfileReader struct {
// contains filtered or unexported fields
}
HashfileReader reads and verifies Git "hashfiles" as defined in https://github.com/git/git/blob/v2.21.0/csum-file.h.
func NewHashfileReader ¶
func NewHashfileReader(r io.Reader) *HashfileReader
NewHashfileReader wraps r to return a reader that will omit the trailing checksum. When the HashfileReader reaches EOF it will transparently compare the actual checksum, as calculated while reading, to the expected checksum provided by the trailer of r.
type TrailerReader ¶
type TrailerReader struct {
// contains filtered or unexported fields
}
TrailerReader models the behavior of Git hashfiles where the last N bytes of the underlying reader are not part of the content. TrailerReader acts like an io.Reader but will always hold back the last N bytes. Once the underlying reader has reached EOF, the trailer (the last N bytes) can be retrieved with the Trailer() method.
func NewTrailerReader ¶
func NewTrailerReader(r io.Reader, trailerSize int) *TrailerReader
NewTrailerReader returns a new TrailerReader. The returned TrailerReader will never return the last trailerSize bytes of r; to get to those bytes, first read the TrailerReader to EOF and then call Trailer().
func (*TrailerReader) Trailer ¶
func (tr *TrailerReader) Trailer() ([]byte, error)
Trailer yields the last trailerSize bytes of the underlying reader of tr. If the underlying reader has not reached EOF yet Trailer will return an error.