func (buf *fileBuffer) UnmarshalBinary(data []byte) error { buffer := bytes.NewBuffer(data) var filename string var N, L, O int64 _, err := fmt.Fscanln(buffer, &filename) file, err := os.Open(filename) if err != nil { return err } buf.file = file _, err = fmt.Fscanln(buffer, &N, &L, &O) buf.Wrapper = wrapio.NewWrapper(file, L, O, N) return nil }
// NewFile returns a new BufferAt backed by "file" with max-size N. func NewFile(N int64, file File) BufferAt { return &fileBuffer{ file: file, Wrapper: wrapio.NewWrapper(file, 0, 0, N), } }