зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #4017 - Reformat sniffer_task.rs (from Ms2ger:sniffertask); r=jdm
Source-Repo: https://github.com/servo/servo Source-Revision: 9833cfbbffa79c74d9ee794e836c8007cd802c10
This commit is contained in:
Родитель
8faed3b8cb
Коммит
81e4c70e86
|
@ -10,37 +10,34 @@ use resource_task::{LoadResponse};
|
|||
pub type SnifferTask = Sender<LoadResponse>;
|
||||
|
||||
pub fn new_sniffer_task(next_rx: Sender<LoadResponse>) -> SnifferTask {
|
||||
let(sen, rec) = channel();
|
||||
let builder = TaskBuilder::new().named("SnifferManager");
|
||||
builder.spawn(proc(){
|
||||
SnifferManager::new(rec).start(next_rx);
|
||||
});
|
||||
sen
|
||||
let (sen, rec) = channel();
|
||||
let builder = TaskBuilder::new().named("SnifferManager");
|
||||
builder.spawn(proc() {
|
||||
SnifferManager::new(rec).start(next_rx);
|
||||
});
|
||||
sen
|
||||
}
|
||||
|
||||
struct SnifferManager {
|
||||
data_receiver: Receiver<LoadResponse>,
|
||||
data_receiver: Receiver<LoadResponse>,
|
||||
}
|
||||
|
||||
impl SnifferManager {
|
||||
fn new(data_receiver: Receiver <LoadResponse>) -> SnifferManager {
|
||||
SnifferManager {
|
||||
data_receiver: data_receiver,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl SnifferManager {
|
||||
fn start(&self, next_rx: Sender<LoadResponse>) {
|
||||
loop {
|
||||
match self.data_receiver.try_recv() {
|
||||
Ok(snif_data) => next_rx.send(snif_data),
|
||||
Err(e) => {
|
||||
if e == Disconnected {
|
||||
break
|
||||
}
|
||||
fn new(data_receiver: Receiver<LoadResponse>) -> SnifferManager {
|
||||
SnifferManager {
|
||||
data_receiver: data_receiver,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl SnifferManager {
|
||||
fn start(&self, next_rx: Sender<LoadResponse>) {
|
||||
loop {
|
||||
match self.data_receiver.try_recv() {
|
||||
Ok(snif_data) => next_rx.send(snif_data),
|
||||
Err(Disconnected) => break,
|
||||
Err(_) => (),
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче