...

Text file src/golang.conradwood.net/go-easyops/linux/line_prefix_pipe.go~

Documentation: golang.conradwood.net/go-easyops/linux

     1package main
     2
     3import (
     4	"fmt"
     5	"io"
     6)
     7
     8type LinePrefixPipe struct {
     9	reader io.Reader
    10}
    11
    12func NewLinePrefixPipe(r io.Reader) *LinePrefixPipe {
    13	return &LinePrefixPipe{reader: r}
    14}
    15
    16func (l *LinePrefixPipe) Read([]byte) (int, error) {
    17	buf := make([]byte, 8192)
    18	var out_err error
    19	for {
    20		n, read_err := l.reader.Read(buf)
    21		if n != 0 {
    22			xerr := l.newBytes(buf[:n])
    23			if xerr != nil {
    24				out_err = xerr
    25				break
    26			}
    27		}
    28		if read_err != nil {
    29			if read_err != io.EOF {
    30				out_err = read_err
    31			}
    32			break
    33		}
    34	}
    35	if out_err != nil {
    36		fmt.Printf("Error reading: %s\n", out_err)
    37	}
    38	return 0, nil
    39}
    40
    41func (l *LinePrefixPipe) newBytes([]byte) error {
    42	return nil
    43}

View as plain text