Documentation
¶
Overview ¶
generic connection code (WSL + SSH)
Index ¶
- func BuildShellCommand(opts CommandSpec) (string, error)
- func ContextWithConnData(ctx context.Context, blockId string) context.Context
- func GetConnData(ctx context.Context) *connData
- func MakeStderrSyncBuffer(proc ShellProcessController) (*syncbuf.SyncBuffer, error)
- func MakeStdoutSyncBuffer(proc ShellProcessController) (*syncbuf.SyncBuffer, error)
- func ProcessContextWait(ctx context.Context, proc ShellProcessController) error
- func RunSimpleCommand(ctx context.Context, client ShellClient, spec CommandSpec) (string, string, error)
- type CommandSpec
- type SSHProcessController
- func (s *SSHProcessController) Kill()
- func (s *SSHProcessController) Start() error
- func (s *SSHProcessController) StderrPipe() (io.Reader, error)
- func (s *SSHProcessController) StdinPipe() (io.WriteCloser, error)
- func (s *SSHProcessController) StdoutPipe() (io.Reader, error)
- func (s *SSHProcessController) Wait() error
- type SSHShellClient
- type ShellClient
- type ShellProcessController
- type WSLProcessController
- func (w *WSLProcessController) Kill()
- func (w *WSLProcessController) Start() error
- func (w *WSLProcessController) StderrPipe() (io.Reader, error)
- func (w *WSLProcessController) StdinPipe() (io.WriteCloser, error)
- func (w *WSLProcessController) StdoutPipe() (io.Reader, error)
- func (w *WSLProcessController) Wait() error
- type WSLShellClient
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildShellCommand ¶
func BuildShellCommand(opts CommandSpec) (string, error)
func ContextWithConnData ¶
func GetConnData ¶
func MakeStderrSyncBuffer ¶
func MakeStderrSyncBuffer(proc ShellProcessController) (*syncbuf.SyncBuffer, error)
func MakeStdoutSyncBuffer ¶
func MakeStdoutSyncBuffer(proc ShellProcessController) (*syncbuf.SyncBuffer, error)
func ProcessContextWait ¶
func ProcessContextWait(ctx context.Context, proc ShellProcessController) error
func RunSimpleCommand ¶
func RunSimpleCommand(ctx context.Context, client ShellClient, spec CommandSpec) (string, string, error)
Types ¶
type SSHProcessController ¶
type SSHProcessController struct {
// contains filtered or unexported fields
}
SSHProcessController implements ShellCmd for SSH connections
func MakeSSHCmdClient ¶
func MakeSSHCmdClient(client *ssh.Client, cmdSpec CommandSpec) (*SSHProcessController, error)
MakeSSHCmdClient creates a new instance of SSHCmdClient
func (*SSHProcessController) Kill ¶
func (s *SSHProcessController) Kill()
Kill terminates the command
func (*SSHProcessController) Start ¶
func (s *SSHProcessController) Start() error
Start begins execution of the command
func (*SSHProcessController) StderrPipe ¶
func (s *SSHProcessController) StderrPipe() (io.Reader, error)
func (*SSHProcessController) StdinPipe ¶
func (s *SSHProcessController) StdinPipe() (io.WriteCloser, error)
func (*SSHProcessController) StdoutPipe ¶
func (s *SSHProcessController) StdoutPipe() (io.Reader, error)
func (*SSHProcessController) Wait ¶
func (s *SSHProcessController) Wait() error
Wait waits for the command to complete
type SSHShellClient ¶
type SSHShellClient struct {
// contains filtered or unexported fields
}
func MakeSSHShellClient ¶
func MakeSSHShellClient(client *ssh.Client) *SSHShellClient
func (*SSHShellClient) MakeProcessController ¶
func (c *SSHShellClient) MakeProcessController(cmdSpec CommandSpec) (ShellProcessController, error)
type ShellClient ¶
type ShellClient interface {
MakeProcessController(cmd CommandSpec) (ShellProcessController, error)
}
type ShellProcessController ¶
type WSLProcessController ¶
type WSLProcessController struct {
// contains filtered or unexported fields
}
func MakeWSLProcessController ¶
func MakeWSLProcessController(distro *wsl.Distro, cmdSpec CommandSpec) (*WSLProcessController, error)
func (*WSLProcessController) Kill ¶
func (w *WSLProcessController) Kill()
func (*WSLProcessController) Start ¶
func (w *WSLProcessController) Start() error
func (*WSLProcessController) StderrPipe ¶
func (w *WSLProcessController) StderrPipe() (io.Reader, error)
func (*WSLProcessController) StdinPipe ¶
func (w *WSLProcessController) StdinPipe() (io.WriteCloser, error)
func (*WSLProcessController) StdoutPipe ¶
func (w *WSLProcessController) StdoutPipe() (io.Reader, error)
func (*WSLProcessController) Wait ¶
func (w *WSLProcessController) Wait() error
type WSLShellClient ¶
type WSLShellClient struct {
// contains filtered or unexported fields
}
func MakeWSLShellClient ¶
func MakeWSLShellClient(distro *wsl.Distro) *WSLShellClient
func (*WSLShellClient) MakeProcessController ¶
func (c *WSLShellClient) MakeProcessController(cmdSpec CommandSpec) (ShellProcessController, error)
Click to show internal directories.
Click to hide internal directories.