Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager is the central piece responsible for starting/stopping machines using a Provider, and connecting SSH channels to the actual TCP port onn the target machine.
Ownership of the Manager struct lies in the goroutine started in NewManager. Public methods on the Manager provide an interface to communicate with the goroutine. (This is essentially the agent pattern.)
func NewManager ¶
NewManager creates a new Manager from the given Providers, and starts the main goroutine running the Manager message loop.
Ownership of the Providers passed in is transferred to the Manager. Specifically, Provider methods are called from the Manager goroutine.
func (*Manager) NewChannel ¶
func (mgr *Manager) NewChannel(newChan ssh.NewChannel)
NewChannel transfers an SSH channel to the Manager for processing.
The Manager will verify the channel is 'direct-tcpip' channel and parse parameters, start the target machine if necessary, then connect the channel to the requested TCP port on the target machine.