mirror of
https://gitlab.com/veilid/veilid.git
synced 2025-08-03 12:16:22 -04:00
clean up spans and correct shutdown behavior. clean up reverse connection and hole punch errors
This commit is contained in:
parent
35dc7bdfd6
commit
2ec843cd17
46 changed files with 354 additions and 212 deletions
|
@ -38,6 +38,7 @@ rt-tokio = [
|
|||
]
|
||||
tracking = ["veilid-core/tracking"]
|
||||
debug-json-api = []
|
||||
debug-locks = ["veilid-core/debug-locks"]
|
||||
|
||||
[dependencies]
|
||||
veilid-core = { path = "../veilid-core", default-features = false }
|
||||
|
|
|
@ -108,25 +108,29 @@ pub async fn run_veilid_server(
|
|||
let capi2 = capi.clone();
|
||||
let update_receiver_shutdown = SingleShotEventual::new(Some(()));
|
||||
let mut update_receiver_shutdown_instance = update_receiver_shutdown.instance().fuse();
|
||||
let update_receiver_jh = spawn_local("update_receiver", async move {
|
||||
loop {
|
||||
select! {
|
||||
res = receiver.recv_async() => {
|
||||
if let Ok(change) = res {
|
||||
if let Some(capi) = &capi2 {
|
||||
// Handle state changes on main thread for capnproto rpc
|
||||
capi.clone().handle_update(change);
|
||||
let update_receiver_jh = spawn_local(
|
||||
"update_receiver",
|
||||
async move {
|
||||
loop {
|
||||
select! {
|
||||
res = receiver.recv_async() => {
|
||||
if let Ok(change) = res {
|
||||
if let Some(capi) = &capi2 {
|
||||
// Handle state changes on main thread for capnproto rpc
|
||||
capi.clone().handle_update(change);
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
_ = update_receiver_shutdown_instance => {
|
||||
break;
|
||||
}
|
||||
}
|
||||
_ = update_receiver_shutdown_instance => {
|
||||
break;
|
||||
}
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
.in_current_span(),
|
||||
);
|
||||
|
||||
// Auto-attach if desired
|
||||
let mut out = Ok(());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue