Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
Reader in regretable package will allow you to read from a reader, and then to "regret" reading it, and push back everything you've read. For example:
rb := NewRegretableReader(bytes.NewBuffer([]byte{1,2,3})) var b = make([]byte,1) rb.Read(b) // b[0] = 1 rb.Regret() ioutil.ReadAll(rb.Read) // returns []byte{1,2,3},nil
func NewRegretableReader ¶
initialize a RegretableReader with underlying reader r.
func NewRegretableReaderSize ¶
initialize a RegretableReader with underlying reader r, whose buffer is size bytes long.
func (*Reader) Forget ¶
func (rb *Reader) Forget()
Will "forget" everything read so far.
rb := NewRegretableReader(bytes.NewBuffer([]byte{1,2,3})) var b = make([]byte,1) rb.Read(b) // b[0] = 1 rb.Forget() rb.Read(b) // b[0] = 2 rb.Regret() ioutil.ReadAll(rb.Read) // returns []byte{2,3},nil
type ReaderCloser ¶
type ReaderCloser struct { Reader // contains filtered or unexported fields }
ReaderCloser is the same as Reader, but allows closing the underlying reader.
func NewRegretableReaderCloser ¶
func NewRegretableReaderCloser(rc io.ReadCloser) *ReaderCloser
initialize a RegretableReaderCloser with underlying readCloser rc.
func NewRegretableReaderCloserSize ¶
func NewRegretableReaderCloserSize(rc io.ReadCloser, size int) *ReaderCloser
initialize a RegretableReaderCloser with underlying readCloser rc.
func (*ReaderCloser) Close ¶
func (rbc *ReaderCloser) Close() error
Closes the underlying readCloser, you cannot regret after closing the stream.
Click to show internal directories.
Click to hide internal directories.