type Encoder … type Decoder … type Serializer … type 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. func NewDecoder(r io.ReadCloser, d runtime.Decoder) Decoder { … } var ErrObjectTooLarge … // Decode reads the next object from the stream and decodes it. func (d *decoder) Decode(defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { … } func (d *decoder) Close() error { … } type encoder … // NewEncoder returns a new streaming encoder. func NewEncoder(w io.Writer, e runtime.Encoder) Encoder { … } // Encode writes the provided object to the nested writer. func (e *encoder) Encode(obj runtime.Object) error { … }