tube

package
v0.0.0-...-1149b08 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2015 License: AGPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EncodeDecoder

type EncodeDecoder interface {
	Encode(e interface{}) os.Error
	Decode(e interface{}) os.Error
}

type ExposeBufioReader

type ExposeBufioReader interface {
	ExposeBufioReader() *bufio.Reader
}

type RC4Tube

type RC4Tube struct {
	io.ReadWriteCloser
	*bufio.Reader
	*gob.Encoder
	*gob.Decoder
	// contains filtered or unexported fields
}

RC4Tube is a tube whose traffic is symmetrically encrypted with RC4

func NewRC4Tube

func NewRC4Tube(t TubedConn, rk, wk []byte) *RC4Tube

func (*RC4Tube) ExposeBufioReader

func (t *RC4Tube) ExposeBufioReader() *bufio.Reader

func (*RC4Tube) Hijack

func (t *RC4Tube) Hijack() (io.ReadWriteCloser, *bufio.Reader)

func (*RC4Tube) Read

func (t *RC4Tube) Read(p []byte) (n int, err os.Error)

func (*RC4Tube) Write

func (t *RC4Tube) Write(p []byte) (int, os.Error)

type Tube

type Tube struct {
	io.ReadWriteCloser
	*bufio.Reader
	*gob.Encoder
	*gob.Decoder
}

Tube is a wrapper around a net.Conn with a buffered reader and associated gob encoder and decoder

func NewTube

func NewTube(rwc io.ReadWriteCloser, r *bufio.Reader) *Tube

func (*Tube) Close

func (t *Tube) Close() (err os.Error)

Due to the complex concurrent ways in which tubes are used, a Tube must behave properly when Close is called after Hijack, or repeatedly.

func (*Tube) ExposeBufioReader

func (t *Tube) ExposeBufioReader() *bufio.Reader

func (*Tube) Hijack

func (t *Tube) Hijack() (io.ReadWriteCloser, *bufio.Reader)

func (*Tube) Read

func (t *Tube) Read(p []byte) (n int, err os.Error)

type TubedConn

type TubedConn interface {
	EncodeDecoder
	ExposeBufioReader
	io.Reader
	io.Writer
	io.Closer
	Hijack() (io.ReadWriteCloser, *bufio.Reader)
}

Jump to

Keyboard shortcuts

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