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.
Click to show internal directories.
Click to hide internal directories.