Files
Easytier_lkddi/easytier/src/peers/mod.rs
T

40 lines
889 B
Rust
Raw Normal View History

2023-09-23 01:53:45 +00:00
pub mod packet;
pub mod peer;
pub mod peer_conn;
pub mod peer_manager;
pub mod peer_map;
2024-03-18 17:16:33 +08:00
pub mod peer_ospf_route;
pub mod peer_rip_route;
2023-09-23 01:53:45 +00:00
pub mod peer_rpc;
pub mod route_trait;
pub mod rpc_service;
2024-03-06 20:59:17 +08:00
pub mod foreign_network_client;
pub mod foreign_network_manager;
2023-09-23 01:53:45 +00:00
#[cfg(test)]
pub mod tests;
2024-03-18 17:14:43 +08:00
use tokio_util::bytes::{Bytes, BytesMut};
#[async_trait::async_trait]
#[auto_impl::auto_impl(Arc)]
pub trait PeerPacketFilter {
async fn try_process_packet_from_peer(
&self,
_packet: &packet::ArchivedPacket,
_data: &Bytes,
) -> Option<()> {
None
}
}
#[async_trait::async_trait]
#[auto_impl::auto_impl(Arc)]
pub trait NicPacketFilter {
async fn try_process_packet_from_nic(&self, data: BytesMut) -> BytesMut;
}
type BoxPeerPacketFilter = Box<dyn PeerPacketFilter + Send + Sync>;
type BoxNicPacketFilter = Box<dyn NicPacketFilter + Send + Sync>;