package transport

import "github.com/Microsoft/hcsshim/internal/guest/transport"

Package transport defines the interfaces describing a connection-like data transport mechanism.

Index

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 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.

Source Files

transport.go vsock.go

Version
v0.9.8
Published
Mar 15, 2023
Platform
linux/amd64
Imports
8 packages
Last checked
7 minutes ago

Tools for package owners.