apimachinery: k8s.io/apimachinery/pkg/runtime/serializer/streaming Index | Files

package streaming

import "k8s.io/apimachinery/pkg/runtime/serializer/streaming"

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


Package Files



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

type Decoder Uses

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

Decoder is a runtime.Decoder from a stream.

func NewDecoder Uses

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 Uses

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 Uses

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

NewEncoder returns a new streaming encoder.

type Serializer Uses

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.

Package streaming imports 5 packages (graph) and is imported by 158 packages. Updated 2018-12-28. Refresh now. Tools for package owners.