http_private: get basic announce route working

This commit is contained in:
Joakim Frostegård 2022-04-03 00:36:35 +02:00
parent b0f89edd30
commit 96e128bb90
7 changed files with 181 additions and 36 deletions

View file

@ -1,5 +1,40 @@
use tokio::sync::mpsc::Receiver;
use aquatic_http_protocol::response::{FailureResponse, Response};
use crate::config::Config;
pub fn run_request_worker(config: Config) -> anyhow::Result<()> {
use super::common::ChannelAnnounceRequest;
pub fn run_request_worker(
config: Config,
request_receiver: Receiver<ChannelAnnounceRequest>,
) -> anyhow::Result<()> {
let runtime = tokio::runtime::Builder::new_current_thread()
.enable_all()
.build()?;
runtime.block_on(run_inner(config, request_receiver))?;
Ok(())
}
async fn run_inner(
config: Config,
mut request_receiver: Receiver<ChannelAnnounceRequest>,
) -> anyhow::Result<()> {
loop {
let request = request_receiver
.recv()
.await
.ok_or_else(|| anyhow::anyhow!("request channel closed"))?;
println!("{:?}", request);
let _ = request
.response_sender
.send(Response::Failure(FailureResponse::new(
"successful actually",
)));
}
}