mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-04-01 10:15:31 +00:00
37 lines
905 B
Rust
37 lines
905 B
Rust
use std::sync::Arc;
|
|
|
|
use aquatic_common::access_list::AccessListArcSwap;
|
|
use aquatic_common::CanonicalSocketAddr;
|
|
|
|
pub use aquatic_common::ValidUntil;
|
|
|
|
use aquatic_http_protocol::{
|
|
request::{AnnounceRequest, ScrapeRequest},
|
|
response::{AnnounceResponse, ScrapeResponse},
|
|
};
|
|
use glommio::channels::shared_channel::SharedSender;
|
|
|
|
#[derive(Copy, Clone, Debug)]
|
|
pub struct ConsumerId(pub usize);
|
|
|
|
#[derive(Clone, Copy, Debug)]
|
|
pub struct ConnectionId(pub usize);
|
|
|
|
#[derive(Debug)]
|
|
pub enum ChannelRequest {
|
|
Announce {
|
|
request: AnnounceRequest,
|
|
peer_addr: CanonicalSocketAddr,
|
|
response_sender: SharedSender<AnnounceResponse>,
|
|
},
|
|
Scrape {
|
|
request: ScrapeRequest,
|
|
peer_addr: CanonicalSocketAddr,
|
|
response_sender: SharedSender<ScrapeResponse>,
|
|
},
|
|
}
|
|
|
|
#[derive(Default, Clone)]
|
|
pub struct State {
|
|
pub access_list: Arc<AccessListArcSwap>,
|
|
}
|