use crate::prelude::*;
use std::marker::PhantomData;
pub struct AcceptFileTransferKernel<R: Ratchet>(PhantomData<R>);
impl<R: Ratchet> Default for AcceptFileTransferKernel<R> {
fn default() -> Self {
Self(Default::default())
}
}
#[async_trait]
impl<R: Ratchet> NetKernel<R> for AcceptFileTransferKernel<R> {
fn load_remote(&mut self, _node_remote: NodeRemote<R>) -> Result<(), NetworkError> {
Ok(())
}
async fn on_start(&self) -> Result<(), NetworkError> {
Ok(())
}
async fn on_node_event_received(&self, message: NodeResult<R>) -> Result<(), NetworkError> {
if let NodeResult::ObjectTransferHandle(mut handle) = message {
let _ = handle
.handle
.exhaust_stream()
.await
.map_err(|err| NetworkError::Generic(err.into_string()))?;
}
Ok(())
}
async fn on_stop(&mut self) -> Result<(), NetworkError> {
Ok(())
}
}