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 *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

      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.

              Source Files