chiark / gitweb /
rename [Frame]QueueBuf
[hippotat.git] / server / suser.rs
index 5b7ab0fae5895d0e8d80c8fd036599c671152048..28929d9e8afa0c930f843fd5eb0c57eda3f7b147 100644 (file)
@@ -28,7 +28,7 @@ pub async fn run(global: Arc<Global>,
     target_requests_outstanding: u32,
   }
   let mut outstanding: VecDeque<Outstanding> = default();
-  let  downbound: VecDeque<(/*xxx*/)> = default();
+  let mut downbound: VecDeque<RoutedPacketData> = default();
 
   let try_send_response = |
     reply_to: oneshot::Sender<WebResponse>,
@@ -61,6 +61,9 @@ pub async fn run(global: Arc<Global>,
     select!{
       biased;
 
+      
+      // xxx something something routed something
+
       req = web.recv() =>
       {
         let WebRequest {
@@ -106,27 +109,22 @@ pub async fn run(global: Arc<Global>,
               //dbg!(&$v);
             }
           }
-
           meta!{
             target_requests_outstanding, ( != ), client,
             let server, client: u32 = meta.need_parse()?;
           }
-
           meta!{
             http_timeout, ( > ), client,
             let server, client = Duration::from_secs(meta.need_parse()?);
           }
-
           meta!{
             mtu, ( != ), client,
             let server, client: u32 = meta.parse()?.unwrap_or(server);
           }
-
           meta!{
             max_batch_down, (), min(client, server),
             let server, client: u32 = meta.parse()?.unwrap_or(server);
           }
-
           meta!{
             max_batch_up, ( > ), client,
             let server, client = meta.parse()?.unwrap_or(server);
@@ -136,7 +134,7 @@ pub async fn run(global: Arc<Global>,
             if comp.name != PartName::d {
               warnings.add(&format_args!("unexpected part {:?}", comp.name))?;
             }
-            checkn(Mime2Slip, mtu, comp.payload, |header| {
+            slip::processn(Mime2Slip, mtu, comp.payload, |header| {
               let saddr = ip_packet_addr::<false>(header)?;
               if saddr != ic.link.client.0 { throw!(PE::Src(saddr)) }
               let daddr = ip_packet_addr::<true>(header)?;
@@ -144,7 +142,7 @@ pub async fn run(global: Arc<Global>,
             }, |(daddr,packet)| route_packet(
               &global, &conn, Some(&ic.link.client), daddr,
               packet, may_route.clone(),
-            ),
+            ).map(Ok),
               |e| Ok::<_,SlipFramesError<_>>({ warnings.add(&e)?; })
             ).await?;
           }