pub trait RegisterPort<'a, D>: Clone{
// Required methods
fn register(&self, key: usize, port: D::Port);
fn raw_port(&self, key: usize) -> D::ExternalRawPort;
fn as_bytes_bidi(
&self,
key: usize,
) -> impl Future<Output = (Pin<Box<dyn Stream<Item = Result<BytesMut, Error>>>>, Pin<Box<dyn Sink<Bytes, Error = Error>>>)> + 'a;
fn as_bincode_bidi<InT, OutT>(
&self,
key: usize,
) -> impl Future<Output = (Pin<Box<dyn Stream<Item = OutT>>>, Pin<Box<dyn Sink<InT, Error = Error>>>)> + 'a
where InT: Serialize + 'static,
OutT: DeserializeOwned + 'static;
fn as_bincode_sink<T>(
&self,
key: usize,
) -> impl Future<Output = Pin<Box<dyn Sink<T, Error = Error>>>> + 'a
where T: Serialize + 'static;
fn as_bincode_source<T>(
&self,
key: usize,
) -> impl Future<Output = Pin<Box<dyn Stream<Item = T>>>> + 'a
where T: DeserializeOwned + 'static;
}
Available on crate feature
build
only.Required Methods§
fn register(&self, key: usize, port: D::Port)
fn raw_port(&self, key: usize) -> D::ExternalRawPort
fn as_bytes_bidi( &self, key: usize, ) -> impl Future<Output = (Pin<Box<dyn Stream<Item = Result<BytesMut, Error>>>>, Pin<Box<dyn Sink<Bytes, Error = Error>>>)> + 'a
fn as_bincode_bidi<InT, OutT>(
&self,
key: usize,
) -> impl Future<Output = (Pin<Box<dyn Stream<Item = OutT>>>, Pin<Box<dyn Sink<InT, Error = Error>>>)> + 'awhere
InT: Serialize + 'static,
OutT: DeserializeOwned + 'static,
fn as_bincode_sink<T>(
&self,
key: usize,
) -> impl Future<Output = Pin<Box<dyn Sink<T, Error = Error>>>> + 'awhere
T: Serialize + 'static,
fn as_bincode_source<T>(
&self,
key: usize,
) -> impl Future<Output = Pin<Box<dyn Stream<Item = T>>>> + 'awhere
T: DeserializeOwned + 'static,
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.
Implementors§
impl<'a> RegisterPort<'a, HydroDeploy> for DeployExternal
Available on crate feature
deploy
only.