pub trait TransportV2Ext {
// Required method
fn invoke<'a>(
&mut self,
command: &str,
capabilities: impl Iterator<Item = (&'a str, Option<impl AsRef<str>>)> + 'a,
arguments: Option<impl Iterator<Item = BString>>,
trace: bool,
) -> Result<Box<dyn ExtendedBufRead<'_> + Unpin + '_>, Error>;
}
Available on crate feature
blocking-client
only.Expand description
An extension trait to add more methods to everything implementing Transport
.
Required Methods§
sourcefn invoke<'a>(
&mut self,
command: &str,
capabilities: impl Iterator<Item = (&'a str, Option<impl AsRef<str>>)> + 'a,
arguments: Option<impl Iterator<Item = BString>>,
trace: bool,
) -> Result<Box<dyn ExtendedBufRead<'_> + Unpin + '_>, Error>
fn invoke<'a>( &mut self, command: &str, capabilities: impl Iterator<Item = (&'a str, Option<impl AsRef<str>>)> + 'a, arguments: Option<impl Iterator<Item = BString>>, trace: bool, ) -> Result<Box<dyn ExtendedBufRead<'_> + Unpin + '_>, Error>
Invoke a protocol V2 style command
with given capabilities
and optional command specific arguments
.
The capabilities
were communicated during the handshake.
If trace
is true
, then all packetlines written and received will be traced using facilities provided by the gix_trace
crate.
Note: panics if handshake wasn’t performed beforehand.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.