Clean up code and improve readability
This commit is contained in:
parent
8c62f20656
commit
dc9c619ef0
|
@ -20,7 +20,6 @@ use lox::{BridgeAuth, BridgeDb, OPENINV_LENGTH};
|
|||
use rand::RngCore;
|
||||
use rdsys_backend::{proto::ResourceDiff, start_stream};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json;
|
||||
use serde_with::serde_as;
|
||||
use std::{
|
||||
convert::Infallible,
|
||||
|
@ -123,7 +122,6 @@ impl LoxServerContext {
|
|||
|
||||
fn update_bridge(&self, bridgeline: BridgeLine) -> bool {
|
||||
let mut ba_obj = self.ba.lock().unwrap();
|
||||
let mut db_obj = self.db.lock().unwrap();
|
||||
ba_obj.bridge_update(&bridgeline)
|
||||
}
|
||||
|
||||
|
@ -152,9 +150,9 @@ impl LoxServerContext {
|
|||
|
||||
fn gen_invite(&self) -> Invite {
|
||||
let obj = self.db.lock().unwrap();
|
||||
return Invite {
|
||||
Invite {
|
||||
invite: obj.invite(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
fn open_inv(&self, req: open_invite::Request) -> open_invite::Response {
|
||||
|
@ -233,11 +231,11 @@ async fn handle(
|
|||
.body(Body::from("Allow POST"))
|
||||
.unwrap()),
|
||||
_ => match (req.method(), req.uri().path()) {
|
||||
(&Method::GET, "/invite") => Ok::<_, Infallible>(generate_invite(cloned_context)),
|
||||
(&Method::GET, "/reachability") => {
|
||||
(&Method::POST, "/invite") => Ok::<_, Infallible>(generate_invite(cloned_context)),
|
||||
(&Method::POST, "/reachability") => {
|
||||
Ok::<_, Infallible>(send_reachability_cred(cloned_context))
|
||||
}
|
||||
(&Method::GET, "/pubkeys") => Ok::<_, Infallible>(send_keys(cloned_context)),
|
||||
(&Method::POST, "/pubkeys") => Ok::<_, Infallible>(send_keys(cloned_context)),
|
||||
(&Method::POST, "/openreq") => Ok::<_, Infallible>({
|
||||
let bytes = body::to_bytes(req.into_body()).await.unwrap();
|
||||
verify_and_send_open_cred(bytes, cloned_context)
|
||||
|
@ -286,10 +284,7 @@ async fn handle(
|
|||
fn generate_invite(context: LoxServerContext) -> Response<Body> {
|
||||
let invite = context.gen_invite();
|
||||
let token = serde_json::to_string(&invite).unwrap();
|
||||
let mut resp = Response::new(Body::from(token));
|
||||
resp.headers_mut()
|
||||
.insert("Access-Control-Allow-Origin", HeaderValue::from_static("*"));
|
||||
resp
|
||||
prepare_header(token)
|
||||
}
|
||||
|
||||
// Return the serialized encrypted bridge table
|
||||
|
@ -297,20 +292,13 @@ fn send_reachability_cred(context: LoxServerContext) -> Response<Body> {
|
|||
context.advance_days_TEST(85); // FOR TESTING ONLY
|
||||
let enc_table = context.encrypt_table();
|
||||
let etable = EncBridgeTable { etable: enc_table };
|
||||
let mut resp = Response::new(Body::from(serde_json::to_string(&etable).unwrap()));
|
||||
resp.headers_mut()
|
||||
.insert("Access-Control-Allow-Origin", HeaderValue::from_static("*"));
|
||||
resp
|
||||
prepare_header(serde_json::to_string(&etable).unwrap())
|
||||
}
|
||||
|
||||
// Return the serialized pubkeys for the Bridge Authority
|
||||
fn send_keys(context: LoxServerContext) -> Response<Body> {
|
||||
let pubkeys = context.pubkeys();
|
||||
|
||||
let mut resp = Response::new(Body::from(serde_json::to_string(&pubkeys).unwrap()));
|
||||
resp.headers_mut()
|
||||
.insert("Access-Control-Allow-Origin", HeaderValue::from_static("*"));
|
||||
resp
|
||||
prepare_header(serde_json::to_string(&pubkeys).unwrap())
|
||||
}
|
||||
|
||||
fn verify_and_send_open_cred(request: Bytes, context: LoxServerContext) -> Response<Body> {
|
||||
|
@ -417,7 +405,7 @@ async fn rdsys_bridge_parser(
|
|||
) {
|
||||
tokio::select! {
|
||||
start_bridge_parser = parse_bridges(rdsys_tx, rx) => start_bridge_parser ,
|
||||
_ = kill.recv() => {println!("Shut down bridge_parser"); return},
|
||||
_ = kill.recv() => {println!("Shut down bridge_parser");},
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -427,7 +415,7 @@ async fn parse_bridges(rdsys_tx: mpsc::Sender<Command>, mut rx: mpsc::Receiver<R
|
|||
loop {
|
||||
let resourcediff = rx.recv().await.unwrap();
|
||||
let cmd = Command::Rdsys {
|
||||
resourcediff: resourcediff,
|
||||
resourcediff,
|
||||
};
|
||||
rdsys_tx.send(cmd).await.unwrap();
|
||||
sleep(Duration::from_secs(1)).await;
|
||||
|
@ -440,7 +428,7 @@ async fn create_context_manager(
|
|||
) {
|
||||
tokio::select! {
|
||||
create_context = context_manager(context_rx) => create_context,
|
||||
_ = kill.recv() => {println!("Shut down context_manager"); return},
|
||||
_ = kill.recv() => {println!("Shut down context_manager");},
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -461,8 +449,8 @@ async fn context_manager(mut context_rx: mpsc::Receiver<Command>) {
|
|||
|
||||
match cmd {
|
||||
Rdsys { resourcediff } => {
|
||||
for new_resource in resourcediff.new {
|
||||
for pt in new_resource {
|
||||
if let Some(new_resources) = resourcediff.new {
|
||||
for pt in new_resources {
|
||||
println!("A NEW RESOURCE: {:?}", pt);
|
||||
let mut bucket = [
|
||||
BridgeLine::default(),
|
||||
|
@ -510,8 +498,8 @@ async fn context_manager(mut context_rx: mpsc::Receiver<Command>) {
|
|||
}
|
||||
}
|
||||
}
|
||||
for changed_resource in resourcediff.changed {
|
||||
for pt in changed_resource {
|
||||
if let Some(changed_resources) = resourcediff.changed {
|
||||
for pt in changed_resources {
|
||||
println!("A NEW CHANGED RESOURCE: {:?}", pt);
|
||||
for resource in pt.1 {
|
||||
let mut ip_bytes: [u8; 16] = [0; 16];
|
||||
|
@ -548,8 +536,8 @@ async fn context_manager(mut context_rx: mpsc::Receiver<Command>) {
|
|||
}
|
||||
}
|
||||
}
|
||||
for gone_resource in resourcediff.gone {
|
||||
for pt in gone_resource {
|
||||
if let Some(gone_resources) = resourcediff.gone {
|
||||
for pt in gone_resources {
|
||||
println!("A NEW GONE RESOURCE: {:?}", pt);
|
||||
for resource in pt.1 {
|
||||
let mut ip_bytes: [u8; 16] = [0; 16];
|
||||
|
@ -672,7 +660,7 @@ async fn main() {
|
|||
let request_tx = request_tx.clone();
|
||||
let (response_tx, response_rx) = oneshot::channel();
|
||||
let cmd = Command::Request {
|
||||
req: req,
|
||||
req,
|
||||
sender: response_tx,
|
||||
};
|
||||
async move {
|
||||
|
|
Loading…
Reference in New Issue