gotools/internal/jsonrpc2_v2/frame.go

type Reader

type Writer

type Framer

// RawFramer returns a new Framer.
// The messages are sent with no wrapping, and rely on json decode consistency
// to determine message boundaries.
func RawFramer() Framer {}

type rawFramer

type rawReader

type rawWriter

func (rawFramer) Reader(rw io.Reader) Reader {}

func (rawFramer) Writer(rw io.Writer) Writer {}

func (r *rawReader) Read(ctx context.Context) (Message, int64, error) {}

func (w *rawWriter) Write(ctx context.Context, msg Message) (int64, error) {}

// HeaderFramer returns a new Framer.
// The messages are sent with HTTP content length and MIME type headers.
// This is the format used by LSP and others.
func HeaderFramer() Framer {}

type headerFramer

type headerReader

type headerWriter

func (headerFramer) Reader(rw io.Reader) Reader {}

func (headerFramer) Writer(rw io.Writer) Writer {}

func (r *headerReader) Read(ctx context.Context) (Message, int64, error) {}

func (w *headerWriter) Write(ctx context.Context, msg Message) (int64, error) {}