streams

package
v0.130.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 24, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IOStreamer

type IOStreamer struct {
	Streams      Streams
	InputStream  io.ReadCloser
	OutputStream io.Writer
	ErrorStream  io.Writer

	Resp types.HijackedResponse
}

An IOStreamer handles copying input to and output from streams to the connection.

func (*IOStreamer) Stream

func (h *IOStreamer) Stream(ctx context.Context) error

Stream handles setting up the IO and then begins streaming stdin/stdout to/from the hijacked connection, blocking until it is either done reading output, the user inputs the detach key sequence when in TTY mode, or when the given context is cancelled.

type In

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

In is an input stream used by the DockerCli to read user input

func NewIn

func NewIn(in io.ReadCloser) *In

NewIn returns a new In object from a ReadCloser

func (*In) CheckTty

func (i *In) CheckTty(attachStdin, ttyMode bool) error

CheckTty checks if we are trying to attach to a container tty from a non-tty client input stream, and if so, returns an error.

func (*In) Close

func (i *In) Close() error

Close implements the Closer interface

func (*In) FD

func (s *In) FD() uintptr

FD returns the file descriptor number for this stream

func (*In) IsTerminal

func (s *In) IsTerminal() bool

IsTerminal returns true if this stream is connected to a terminal

func (*In) Read

func (i *In) Read(p []byte) (int, error)

func (*In) SetRawTerminal

func (i *In) SetRawTerminal() (err error)

SetRawTerminal sets raw mode on the input terminal

type Out

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

Out is an output stream used by the DockerCli to write normal program output.

func NewOut

func NewOut(out io.Writer) *Out

NewOut returns a new Out object from a Writer

func (*Out) FD

func (s *Out) FD() uintptr

FD returns the file descriptor number for this stream

func (*Out) GetTtySize

func (o *Out) GetTtySize() (uint, uint)

GetTtySize returns the height and width in characters of the tty

func (*Out) IsTerminal

func (s *Out) IsTerminal() bool

IsTerminal returns true if this stream is connected to a terminal

func (*Out) SetRawTerminal

func (o *Out) SetRawTerminal() (err error)

SetRawTerminal sets raw mode on the input terminal

func (*Out) Write

func (o *Out) Write(p []byte) (int, error)

type Streams

type Streams interface {
	In() *In
	Out() *Out
	Err() io.Writer
}

Streams is an interface which exposes the standard input and output streams

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL