Help us shape the future of Go! Take the 2026 Go Developer Survey

streaming

package
v1.3.4 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2016 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package streaming implements encoder and decoder for streams of runtime.Objects over io.Writer/Readers.

Index

Constants

This section is empty.

Variables

View Source
var ErrObjectTooLarge = fmt.Errorf("object to decode was longer than maximum allowed size")

Functions

This section is empty.

Types

type Decoder

type Decoder interface {
	// Decode will return io.EOF when no more objects are available.
	Decode(defaults *unversioned.GroupVersionKind, into runtime.Object) (runtime.Object, *unversioned.GroupVersionKind, error)
	// Close closes the underlying stream.
	Close() error
}

Decoder is a runtime.Decoder from a stream.

func NewDecoder

func NewDecoder(r io.ReadCloser, d runtime.Decoder) Decoder

NewDecoder creates a streaming decoder that reads object chunks from r and decodes them with d. The reader is expected to return ErrShortRead if the provided buffer is not large enough to read an entire object.

type Encoder

type Encoder interface {
	// Encode will write the provided object to the stream or return an error. It obeys the same
	// contract as runtime.VersionedEncoder.
	Encode(obj runtime.Object) error
}

Encoder is a runtime.Encoder on a stream.

func NewEncoder

func NewEncoder(w io.Writer, e runtime.Encoder) Encoder

NewEncoder returns a new streaming encoder.

type Serializer

type Serializer interface {
	NewEncoder(w io.Writer) Encoder
	NewDecoder(r io.ReadCloser) Decoder
}

Serializer is a factory for creating encoders and decoders that work over streams.

Jump to

Keyboard shortcuts

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