|
|
@ -165,9 +165,8 @@ impl Sending {
|
|
|
|
let new_events = guard.sending.servernamepduids
|
|
|
|
let new_events = guard.sending.servernamepduids
|
|
|
|
.scan_prefix(prefix.clone())
|
|
|
|
.scan_prefix(prefix.clone())
|
|
|
|
.filter_map(|(k, _)| {
|
|
|
|
.filter_map(|(k, _)| {
|
|
|
|
Self::parse_servercurrentevent(&k).ok()
|
|
|
|
Self::parse_servercurrentevent(&k).ok().map(|ev| (ev, k))
|
|
|
|
})
|
|
|
|
})
|
|
|
|
.map(|(_, event)| event)
|
|
|
|
|
|
|
|
.take(30)
|
|
|
|
.take(30)
|
|
|
|
.collect::<Vec<_>>();
|
|
|
|
.collect::<Vec<_>>();
|
|
|
|
|
|
|
|
|
|
|
@ -175,16 +174,9 @@ impl Sending {
|
|
|
|
|
|
|
|
|
|
|
|
if !new_events.is_empty() {
|
|
|
|
if !new_events.is_empty() {
|
|
|
|
// Insert pdus we found
|
|
|
|
// Insert pdus we found
|
|
|
|
for event in &new_events {
|
|
|
|
for (_, key) in &new_events {
|
|
|
|
let mut current_key = prefix.clone();
|
|
|
|
guard.sending.servercurrentevents.insert(&key, &[]).unwrap();
|
|
|
|
match event {
|
|
|
|
guard.sending.servernamepduids.remove(&key).unwrap();
|
|
|
|
SendingEventType::Pdu(b) |
|
|
|
|
|
|
|
|
SendingEventType::Edu(b) => {
|
|
|
|
|
|
|
|
current_key.extend_from_slice(&b);
|
|
|
|
|
|
|
|
guard.sending.servercurrentevents.insert(¤t_key, &[]).unwrap();
|
|
|
|
|
|
|
|
guard.sending.servernamepduids.remove(¤t_key).unwrap();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
drop(guard);
|
|
|
|
drop(guard);
|
|
|
@ -192,7 +184,7 @@ impl Sending {
|
|
|
|
futures.push(
|
|
|
|
futures.push(
|
|
|
|
Self::handle_events(
|
|
|
|
Self::handle_events(
|
|
|
|
outgoing_kind.clone(),
|
|
|
|
outgoing_kind.clone(),
|
|
|
|
new_events,
|
|
|
|
new_events.into_iter().map(|(event, _)| event.1).collect(),
|
|
|
|
Arc::clone(&db),
|
|
|
|
Arc::clone(&db),
|
|
|
|
)
|
|
|
|
)
|
|
|
|
);
|
|
|
|
);
|
|
|
|