♻️ refactor: rename `RelayState` to `Relay` and privatize `load_templates`

main
_ 2021-04-18 08:28:07 -05:00
parent c6f651387e
commit 146c91f2be
7 changed files with 33 additions and 33 deletions

View File

@ -71,7 +71,7 @@ mod server_endpoint;
pub use config::Config;
pub use errors::*;
pub use relay_state::RelayState;
pub use relay_state::Relay;
use relay_state::{
RejectedServer,
@ -99,7 +99,7 @@ fn error_reply (status: StatusCode, b: &str)
async fn handle_http_request (
req: http::request::Parts,
uri: String,
state: Arc <RelayState>,
state: Arc <Relay>,
server_name: &str
)
-> Result <Response <Body>, http::Error>
@ -289,7 +289,7 @@ struct AuditLogPage {
async fn handle_server_list_internal (state: &Arc <RelayState>)
async fn handle_server_list_internal (state: &Arc <Relay>)
-> ServerListPage <'static>
{
use LastSeen::*;
@ -330,7 +330,7 @@ async fn handle_server_list_internal (state: &Arc <RelayState>)
}
}
async fn handle_unregistered_servers_internal (state: &Arc <RelayState>)
async fn handle_unregistered_servers_internal (state: &Arc <Relay>)
-> UnregisteredServerListPage
{
use LastSeen::*;
@ -359,7 +359,7 @@ async fn handle_unregistered_servers_internal (state: &Arc <RelayState>)
}
}
async fn handle_audit_log_internal (state: &Arc <RelayState>)
async fn handle_audit_log_internal (state: &Arc <Relay>)
-> AuditLogPage
{
let audit_log = state.audit_log.to_vec ().await
@ -371,7 +371,7 @@ async fn handle_audit_log_internal (state: &Arc <RelayState>)
}
async fn handle_server_list (
state: Arc <RelayState>,
state: Arc <Relay>,
handlebars: Arc <Handlebars <'static>>
) -> Result <Response <Body>, RequestError>
{
@ -382,7 +382,7 @@ async fn handle_server_list (
}
async fn handle_unregistered_servers (
state: Arc <RelayState>,
state: Arc <Relay>,
handlebars: Arc <Handlebars <'static>>
) -> Result <Response <Body>, RequestError>
{
@ -393,7 +393,7 @@ async fn handle_unregistered_servers (
}
async fn handle_audit_log (
state: Arc <RelayState>,
state: Arc <Relay>,
handlebars: Arc <Handlebars <'static>>
) -> Result <Response <Body>, RequestError>
{
@ -473,7 +473,7 @@ async fn handle_endless_source (gib: usize, throttle: Option <usize>)
.body (Body::wrap_stream (ReceiverStream::new (rx)))
}
async fn handle_gen_scraper_key (_state: Arc <RelayState>)
async fn handle_gen_scraper_key (_state: Arc <Relay>)
-> Result <Response <Body>, http::Error>
{
let key = ptth_core::gen_key ();
@ -489,7 +489,7 @@ async fn handle_gen_scraper_key (_state: Arc <RelayState>)
#[instrument (level = "trace", skip (req, state, handlebars))]
async fn handle_all (
req: Request <Body>,
state: Arc <RelayState>,
state: Arc <Relay>,
handlebars: Arc <Handlebars <'static>>
)
-> Result <Response <Body>, RequestError>
@ -580,7 +580,7 @@ fn load_templates (asset_root: &Path)
}
async fn reload_config (
state: &Arc <RelayState>,
state: &Arc <Relay>,
config_reload_path: &Path
) -> Result <(), ConfigError> {
let new_config = Config::from_file (config_reload_path).await?;
@ -604,7 +604,7 @@ async fn reload_config (
}
pub async fn run_relay (
state: Arc <RelayState>,
state: Arc <Relay>,
asset_root: &Path,
shutdown_oneshot: oneshot::Receiver <()>,
config_reload_path: Option <PathBuf>

View File

@ -16,7 +16,7 @@ use tracing_subscriber::{
use ptth_relay::{
Config,
RelayState,
Relay,
run_relay,
};
@ -54,7 +54,7 @@ async fn main () -> Result <(), Box <dyn Error>> {
forced_shutdown.wrap_server (
run_relay (
Arc::new (RelayState::try_from (config)?),
Arc::new (Relay::try_from (config)?),
&PathBuf::new (),
shutdown_rx,
Some (config_path)

View File

@ -71,7 +71,7 @@ impl Default for ServerStatus {
}
}
pub struct RelayState {
pub struct Relay {
pub config: RwLock <Config>,
// Key: Server ID
@ -157,7 +157,7 @@ impl <T: Clone> BoundedVec <T> {
}
}
impl TryFrom <Config> for RelayState {
impl TryFrom <Config> for Relay {
type Error = RelayError;
fn try_from (config: Config) -> Result <Self, Self::Error> {
@ -176,7 +176,7 @@ impl TryFrom <Config> for RelayState {
}
}
impl RelayState {
impl Relay {
pub async fn list_servers (&self) -> Vec <String> {
self.request_rendezvous.lock ().await.iter ()
.map (|(k, _)| (*k).clone ())

View File

@ -26,7 +26,7 @@ use crate::{
BlakeHashWrapper,
KeyValidity,
},
relay_state::RelayState,
relay_state::Relay,
};
// Not sure if this is the best way to do a hard-coded string table, but
@ -65,7 +65,7 @@ pub struct ServerList {
pub servers: Vec <Server>,
}
pub async fn v1_server_list (state: &Arc <RelayState>)
pub async fn v1_server_list (state: &Arc <Relay>)
-> ServerList
{
// name --> display_name
@ -112,7 +112,7 @@ pub async fn v1_server_list (state: &Arc <RelayState>)
#[instrument (level = "trace", skip (req, state))]
async fn api_v1 (
req: Request <Body>,
state: Arc <RelayState>,
state: Arc <Relay>,
path_rest: &str
)
-> Result <Response <Body>, RequestError>
@ -184,7 +184,7 @@ async fn api_v1 (
#[instrument (level = "trace", skip (req, state))]
pub async fn handle (
req: Request <Body>,
state: Arc <RelayState>,
state: Arc <Relay>,
path_rest: &str
)
-> Result <Response <Body>, RequestError>
@ -299,7 +299,7 @@ mod tests {
let config = config::Config::try_from (config_file).expect ("Can't load config");
let relay_state = Arc::new (RelayState::try_from (config).expect ("Can't create relay state"));
let relay_state = Arc::new (Relay::try_from (config).expect ("Can't create relay state"));
let actual = super::handle (input, relay_state, self.path_rest).await;
let actual = actual.expect ("Relay didn't respond");

View File

@ -36,7 +36,7 @@ use super::{
},
HandleHttpResponseError,
ok_reply,
RelayState,
Relay,
};
// Servers will come here and either handle queued requests from parked clients,
@ -44,7 +44,7 @@ use super::{
// Step 1
pub async fn handle_listen (
state: Arc <RelayState>,
state: Arc <Relay>,
watcher_code: String,
api_key: &[u8],
)
@ -140,7 +140,7 @@ pub async fn handle_listen (
pub async fn handle_response (
req: Request <Body>,
state: Arc <RelayState>,
state: Arc <Relay>,
req_id: String,
)
-> Result <Response <Body>, HandleHttpResponseError>

View File

@ -46,7 +46,7 @@ async fn main () -> anyhow::Result <()> {
let config = ptth_relay::config::Config::try_from (config_file).expect ("Can't load config");
let relay_state = Arc::new (ptth_relay::RelayState::try_from (config).expect ("Can't create relay state"));
let relay_state = Arc::new (ptth_relay::Relay::try_from (config).expect ("Can't create relay state"));
let (stop_relay_tx, stop_relay_rx) = oneshot::channel ();
let task_relay = spawn ({
@ -54,7 +54,7 @@ async fn main () -> anyhow::Result <()> {
async move {
ptth_relay::run_relay (
relay_state,
Arc::new (ptth_relay::load_templates (&PathBuf::new ())?),
&PathBuf::new (),
stop_relay_rx,
None
).await

View File

@ -20,7 +20,7 @@ use tracing::{debug, info};
// If this takes more than 5 seconds-ish, it's bad, the test should
// fail
async fn wait_for_any_server (relay_state: &ptth_relay::RelayState) {
async fn wait_for_any_server (relay_state: &ptth_relay::Relay) {
for _ in 0..50 {
tokio::time::sleep (Duration::from_millis (100)).await;
if ! relay_state.list_servers ().await.is_empty () {
@ -83,7 +83,7 @@ impl TestingConfig {
}
struct TestingRelay {
state: Arc <ptth_relay::RelayState>,
state: Arc <ptth_relay::Relay>,
task: tokio::task::JoinHandle <Result <(), ptth_relay::RelayError>>,
stop_tx: oneshot::Sender <()>,
}
@ -114,7 +114,7 @@ impl TestingRelay {
let cfg = config::Config::try_from (config_file).expect ("Can't load config");
let state = Arc::new (RelayState::try_from (cfg).expect ("Can't create relay state"));
let state = Arc::new (Relay::try_from (cfg).expect ("Can't create relay state"));
let (stop_tx, stop_rx) = oneshot::channel ();
let task = spawn ({
@ -122,7 +122,7 @@ impl TestingRelay {
async move {
run_relay (
state,
Arc::new (load_templates (&PathBuf::new ())?),
&PathBuf::new (),
stop_rx,
None
).await
@ -286,13 +286,13 @@ async fn scraper_endpoints () {
let config = config::Config::try_from (config_file).expect ("Can't load config");
let relay_state = Arc::new (RelayState::try_from (config).expect ("Can't create relay state"));
let relay_state = Arc::new (Relay::try_from (config).expect ("Can't create relay state"));
let relay_state_2 = relay_state.clone ();
let (stop_relay_tx, stop_relay_rx) = oneshot::channel ();
let task_relay = spawn (async move {
run_relay (
relay_state_2,
Arc::new (load_templates (&PathBuf::new ())?),
&PathBuf::new (),
stop_relay_rx,
None
).await