mirror of
https://github.com/n0-computer/noq.git
synced 2026-09-21 02:33:23 +00:00
Use tokio::run() to run the example server
This commit is contained in:
+2
-4
@@ -1,6 +1,7 @@
|
||||
extern crate env_logger;
|
||||
extern crate quinn;
|
||||
extern crate rustls;
|
||||
extern crate tokio;
|
||||
|
||||
use rustls::internal::pemfile;
|
||||
use std::{fs::File, io::BufReader};
|
||||
@@ -26,8 +27,5 @@ fn main() {
|
||||
|
||||
let tls_config = quinn::tls::build_server_config(certs, key[0].clone());
|
||||
env_logger::init();
|
||||
quinn::Server::new("0.0.0.0", 4433, tls_config)
|
||||
.unwrap()
|
||||
.run()
|
||||
.unwrap();
|
||||
tokio::run(quinn::Server::new("0.0.0.0", 4433, tls_config).unwrap());
|
||||
}
|
||||
|
||||
+5
-7
@@ -40,10 +40,6 @@ impl Server {
|
||||
})
|
||||
}
|
||||
|
||||
pub fn run(&mut self) -> QuicResult<()> {
|
||||
self.wait()
|
||||
}
|
||||
|
||||
fn received(&mut self, addr: SocketAddr, len: usize) -> QuicResult<()> {
|
||||
let connections = &mut self.connections;
|
||||
let packet = &mut self.in_buf[..len];
|
||||
@@ -98,16 +94,18 @@ impl Server {
|
||||
|
||||
impl Future for Server {
|
||||
type Item = ();
|
||||
type Error = QuicError;
|
||||
type Error = ();
|
||||
|
||||
fn poll(&mut self) -> Poll<(), QuicError> {
|
||||
fn poll(&mut self) -> Poll<Self::Item, Self::Error> {
|
||||
let mut waiting;
|
||||
loop {
|
||||
waiting = true;
|
||||
match self.socket.poll_recv_from(&mut self.in_buf) {
|
||||
Ok(Async::Ready((len, addr))) => {
|
||||
waiting = false;
|
||||
self.received(addr, len)?;
|
||||
if let Err(e) = self.received(addr, len) {
|
||||
error!("error while handling received packet: {:?}", e);
|
||||
}
|
||||
}
|
||||
Ok(Async::NotReady) => {}
|
||||
Err(e) => error!("Server RECV ERROR: {:?}", e),
|
||||
|
||||
Reference in New Issue
Block a user