use crate::protocol::error::RadiusError;
#[cfg(all(feature = "async-radius"))]
use async_trait::async_trait;
#[cfg(all(feature = "async-radius"))]
#[async_trait]
pub trait AsyncServerTrait {
async fn run(&mut self) -> Result<(), RadiusError>;
async fn handle_auth_request(&self) -> Result<(), RadiusError> {
Ok(())
}
async fn handle_acct_request(&self) -> Result<(), RadiusError> {
Ok(())
}
async fn handle_coa_request(&self) -> Result<(), RadiusError> {
Ok(())
}
}
pub trait SyncServerTrait {
fn run(&mut self) -> Result<(), RadiusError>;
fn handle_auth_request(&self, request: &mut [u8])->Result<Vec<u8>, RadiusError> {
Ok(request.to_vec())
}
fn handle_acct_request(&self, request: &mut [u8])->Result<Vec<u8>, RadiusError> {
Ok(request.to_vec())
}
fn handle_coa_request(&self, request: &mut [u8])->Result<Vec<u8>, RadiusError> {
Ok(request.to_vec())
}
}
pub mod server;