pub trait InteractionProxyInterface: Send + Sync {
type PutFileResponseFut: Future<Output = Result<i32, Error>> + Send;
type GetFileResponseFut: Future<Output = Result<i32, Error>> + Send;
// Required methods
fn put_file(
&self,
local_file: ClientEnd<FileMarker>,
remote_path: &str,
) -> Self::PutFileResponseFut;
fn get_file(
&self,
remote_path: &str,
local_file: ClientEnd<FileMarker>,
) -> Self::GetFileResponseFut;
fn execute_command(
&self,
command: &str,
env: &[EnvironmentVariable],
stdin: Option<Socket>,
stdout: Option<Socket>,
stderr: Option<Socket>,
command_listener: ServerEnd<CommandListenerMarker>,
) -> Result<(), Error>;
}