use std::sync::Arc;
use async_std::sync::Mutex;
use serde::{Deserialize, Serialize};
use ng_repo::errors::*;
use crate::connection::NoiseFSM;
use crate::{actor::*, types::ProtocolMessage};
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct Connecting();
impl From<Connecting> for ProtocolMessage {
fn from(_msg: Connecting) -> ProtocolMessage {
unimplemented!();
}
}
impl Actor<'_, Connecting, ()> {}
#[async_trait::async_trait]
impl EActor for Actor<'_, Connecting, ()> {
async fn respond(
&mut self,
_msg: ProtocolMessage,
fsm: Arc<Mutex<NoiseFSM>>,
) -> Result<(), ProtocolError> {
fsm.lock().await.remove_actor(0).await;
Ok(())
}
}