syncreader

package
v0.0.0-...-be21ac7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 19, 2015 License: MIT, MIT Imports: 1 Imported by: 0

README

syncreader

SyncReader creates a reader that its reads to synchronize with first reader, similar to the io.MultiWriter .

View the docs.

APIs

New(readers ...io.Reader)

First reader is source reader, other readers read to synchronize whith first reader. If first readera retures EOF, other readers also return.

Usage

Reading a file in progress.

import "github.com/go-libs/syncreader"
import "github.com/go-libs/progress"

filename := "syncreader_test.go"
f, err := os.Open(filename)
defer f.Close()
if err != nil {
  log.Fatalln(err)
}

fs, err := os.Stat(filename)
if err != nil {
  log.Fatalln(err)
}

p := progress.New()
p.Total = fs.Size()
p.Progress = func(c, t, e int64) {
  log.Println(c, t, e)
}
b := new(bytes.Buffer)
r := syncreader.New(f, p)
_, err = b.ReadFrom(r)
if err != nil {
  log.Fatalln(err)
}

View the docs.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(readers ...io.Reader) io.Reader

Types

type SyncReader

type SyncReader struct {
	// contains filtered or unexported fields
}

func (*SyncReader) Read

func (sr *SyncReader) Read(p []byte) (n int, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL