livelog

package
v0.0.0-...-870f2d0 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: BSD-3-Clause Imports: 2 Imported by: 6

README

Go Reference

golang.org/x/build/livelog

Package livelog provides a buffer that can be simultaneously written to by one writer and read from by many readers.

Documentation

Overview

Package livelog provides a buffer that can be simultaneously written to by one writer and read from by many readers.

Index

Constants

View Source
const (
	// MaxBufferSize is the maximum buffer size, as it is more output than
	// we expect from reasonable tests.
	MaxBufferSize = 2 << 20 // 2 MB

)

Variables

This section is empty.

Functions

This section is empty.

Types

type Buffer

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

Buffer is an io.WriteCloser that provides multiple Readers that each yield the same data.

It is safe to Write to a Buffer while Readers consume data. A Buffer has a maximum size of MaxBufferSize, after which Write will silently drop additional data and the buffer will contain a truncation note at the end.

The zero value is a ready-to-use buffer.

func (*Buffer) Bytes

func (b *Buffer) Bytes() []byte

Bytes returns a copy of the underlying buffer.

func (*Buffer) Close

func (b *Buffer) Close() error

Close signals EOF to all Readers.

func (*Buffer) Reader

func (b *Buffer) Reader() io.ReadCloser

Reader initializes and returns a ReadCloser that will emit the entire buffer. It is safe to call Read and Close concurrently.

func (*Buffer) String

func (b *Buffer) String() string

String returns a copy of the underlying buffer as a string.

func (*Buffer) Write

func (b *Buffer) Write(b2 []byte) (int, error)

Write appends data to the Buffer. It will wake any blocked Readers.

Jump to

Keyboard shortcuts

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