Documentation ¶
Overview ¶
Package transport defines the interfaces describing a connection-like data transport mechanism.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Connection ¶
type Connection interface { io.ReadWriteCloser CloseRead() error CloseWrite() error File() (*os.File, error) }
Connection is the interface defining a data connection, such as a socket or a mocked implementation.
type MockConnection ¶
MockConnection is a mock implementation of Connection.
type MockTransport ¶
type MockTransport struct { // Channel sends connections to the "server" once the "client" has // connected. Channel chan *MockConnection }
MockTransport is a mock implementation of Transport.
func (*MockTransport) Dial ¶
func (t *MockTransport) Dial(_ uint32) (_ Connection, err error)
Dial ignores the port, and returns a MockTransport struct.
type Transport ¶
type Transport interface { // Dial takes a port number and returns a connected connection. Dial(port uint32) (Connection, error) }
Transport is the interface defining a method of transporting data in a connection-like way. Examples of a Transport implementation could be:
Hyper-V socket transport TCP/IP socket transport Mocked-out local transport
type VsockTransport ¶
type VsockTransport struct{}
VsockTransport is an implementation of Transport which uses vsock sockets.
func (*VsockTransport) Dial ¶
func (t *VsockTransport) Dial(port uint32) (Connection, error)
Dial accepts a vsock socket port number as configuration, and returns an unconnected VsockConnection struct.