Skip to main content

netget/server/
server_trait.rs

1//! Common trait and utilities for network servers
2
3use anyhow::Result;
4use async_trait::async_trait;
5
6/// Common trait for network servers that can be spawned
7#[async_trait]
8pub trait NetworkServer: Send + Sync + 'static {
9    /// Start the server and run its main loop
10    async fn start(self) -> Result<()>;
11
12    /// Get the server name for logging
13    fn name(&self) -> &str;
14}