generated from PlexSheep/rs-base
use thread pool to process connections
This commit is contained in:
parent
12a60eb189
commit
a11618add4
|
@ -43,20 +43,27 @@ impl Server {
|
||||||
loop {
|
loop {
|
||||||
self.work.poll(&mut self.events, self.timeout)?;
|
self.work.poll(&mut self.events, self.timeout)?;
|
||||||
for event in self.events.iter() {
|
for event in self.events.iter() {
|
||||||
// self.pool.execute(|| {
|
|
||||||
let result = self.handle_event(event);
|
let result = self.handle_event(event);
|
||||||
if let Err(err) = result {
|
if let Err(err) = result {
|
||||||
error!("Error while handling server event {:?}: {:?}", event, err);
|
error!("Error while handling server event {:?}: {:?}", event, err);
|
||||||
}
|
}
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_event(&self, event: &Event) -> Result<()> {
|
fn handle_event(&self, event: &Event) -> Result<()> {
|
||||||
dbg!(event);
|
dbg!(event);
|
||||||
let _connection = self.server.accept()?;
|
let connection = match self.server.accept() {
|
||||||
|
Ok(c) => c,
|
||||||
|
Err(err) => {
|
||||||
|
error!("error while handling connection: {:?}", err);
|
||||||
|
return Err(err.into());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
self.pool.execute(move|| {
|
||||||
|
dbg!(connection);
|
||||||
info!("received a connection!");
|
info!("received a connection!");
|
||||||
|
});
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue