kubernetesk8s.io/kubernetes/pkg/watch/json Index | Files

package json

import "k8s.io/kubernetes/pkg/watch/json"

Package json implements a simple encoder and decoder for streams of watch events over io.Writer/Readers

Index

Functions

func Object

func Object(codec runtime.Codec, event *watch.Event) (interface{}, error)

Object converts a watch.Event into an appropriately serializable JSON object

Types

type Decoder

type Decoder struct {
	// contains filtered or unexported fields
}

Decoder implements the watch.Decoder interface for io.ReadClosers that have contents which consist of a series of watchEvent objects encoded via JSON. It will decode any object registered in the supplied codec.

func NewDecoder

func NewDecoder(r io.ReadCloser, codec runtime.Codec) *Decoder

NewDecoder creates an Decoder for the given writer and codec.

func (*Decoder) Close

func (d *Decoder) Close()

Close closes the underlying r.

func (*Decoder) Decode

func (d *Decoder) Decode() (watch.EventType, runtime.Object, error)

Decode blocks until it can return the next object in the writer. Returns an error if the writer is closed or an object can't be decoded.

type Encoder

type Encoder struct {
	// contains filtered or unexported fields
}

Encoder implements the json.Encoder interface for io.Writers that should serialize WatchEvent objects into JSON. It will encode any object registered in the supplied codec and return an error otherwies.

func NewEncoder

func NewEncoder(w io.Writer, codec runtime.Codec) *Encoder

NewEncoder creates an Encoder for the given writer and codec

func (*Encoder) Encode

func (e *Encoder) Encode(event *watch.Event) error

Encode writes an event to the writer. Returns an error if the writer is closed or an object can't be encoded.

type WatchEvent

type WatchEvent struct {
	// The type of the watch event; added, modified, deleted, or error.
	Type watch.EventType `json:"type,omitempty" description:"the type of watch event; may be ADDED, MODIFIED, DELETED, or ERROR"`

	// For added or modified objects, this is the new object; for deleted objects,
	// it's the state of the object immediately prior to its deletion.
	// For errors, it's an api.Status.
	Object runtime.RawExtension `json:"object,omitempty" description:"the object being watched; will match the type of the resource endpoint or be a Status object if the type is ERROR"`
}

WatchEvent objects are streamed from the api server in response to a watch request. These are not API objects and may not be changed in a backward-incompatible way. TODO: move to a public, versioned object now that RawExtension conversions are possible in the schema.

Source Files

decoder.go doc.go encoder.go types.go

Version
v0.18.2
Published
Jun 8, 2015
Platform
js/wasm
Imports
6 packages
Last checked
38 seconds ago

Tools for package owners.