subrepo: subdir: "apps/aquatic" merged: "b139e39f" upstream: origin: "https://github.com/greatest-ape/aquatic" branch: "master" commit: "b139e39f" git-subrepo: version: "0.4.9" origin: "???" commit: "???"
41 lines
933 B
Rust
41 lines
933 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;
|
|
use slotmap::new_key_type;
|
|
|
|
#[allow(dead_code)]
|
|
#[derive(Copy, Clone, Debug)]
|
|
pub struct ConsumerId(pub usize);
|
|
|
|
new_key_type! {
|
|
pub struct ConnectionId;
|
|
}
|
|
|
|
#[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>,
|
|
}
|