mirror of
https://gitlab.com/veilid/veilid.git
synced 2025-03-13 01:16:47 -04:00
[ci skip] debugging
This commit is contained in:
parent
9a3cab071a
commit
500547cfa8
@ -119,6 +119,24 @@ impl NodeRefOperateTrait for FilteredNodeRef {
|
|||||||
let inner = &mut *routing_table.inner.write();
|
let inner = &mut *routing_table.inner.write();
|
||||||
self.entry.with_mut(inner, f)
|
self.entry.with_mut(inner, f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn with_inner<T, F>(&self, f: F) -> T
|
||||||
|
where
|
||||||
|
F: FnOnce(&RoutingTableInner) -> T,
|
||||||
|
{
|
||||||
|
let routing_table = self.registry.routing_table();
|
||||||
|
let inner = &*routing_table.inner.read();
|
||||||
|
f(inner)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn with_inner_mut<T, F>(&self, f: F) -> T
|
||||||
|
where
|
||||||
|
F: FnOnce(&mut RoutingTableInner) -> T,
|
||||||
|
{
|
||||||
|
let routing_table = self.registry.routing_table();
|
||||||
|
let inner = &mut *routing_table.inner.write();
|
||||||
|
f(inner)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl NodeRefCommonTrait for FilteredNodeRef {}
|
impl NodeRefCommonTrait for FilteredNodeRef {}
|
||||||
|
@ -139,6 +139,24 @@ impl NodeRefOperateTrait for NodeRef {
|
|||||||
let inner = &mut *routing_table.inner.write();
|
let inner = &mut *routing_table.inner.write();
|
||||||
self.entry.with_mut(inner, f)
|
self.entry.with_mut(inner, f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn with_inner<T, F>(&self, f: F) -> T
|
||||||
|
where
|
||||||
|
F: FnOnce(&RoutingTableInner) -> T,
|
||||||
|
{
|
||||||
|
let routing_table = self.routing_table();
|
||||||
|
let inner = &*routing_table.inner.read();
|
||||||
|
f(inner)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn with_inner_mut<T, F>(&self, f: F) -> T
|
||||||
|
where
|
||||||
|
F: FnOnce(&mut RoutingTableInner) -> T,
|
||||||
|
{
|
||||||
|
let routing_table = self.routing_table();
|
||||||
|
let inner = &mut *routing_table.inner.write();
|
||||||
|
f(inner)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl NodeRefCommonTrait for NodeRef {}
|
impl NodeRefCommonTrait for NodeRef {}
|
||||||
|
@ -90,6 +90,21 @@ impl<'a, N: NodeRefAccessorsTrait + NodeRefOperateTrait + fmt::Debug + fmt::Disp
|
|||||||
{
|
{
|
||||||
panic!("need to locked_mut() for this operation")
|
panic!("need to locked_mut() for this operation")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn with_inner<T, F>(&self, f: F) -> T
|
||||||
|
where
|
||||||
|
F: FnOnce(&RoutingTableInner) -> T,
|
||||||
|
{
|
||||||
|
let inner = &*self.inner.lock();
|
||||||
|
f(inner)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn with_inner_mut<T, F>(&self, _f: F) -> T
|
||||||
|
where
|
||||||
|
F: FnOnce(&mut RoutingTableInner) -> T,
|
||||||
|
{
|
||||||
|
panic!("need to locked_mut() for this operation")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, N: NodeRefAccessorsTrait + NodeRefOperateTrait + fmt::Debug + fmt::Display + Clone>
|
impl<'a, N: NodeRefAccessorsTrait + NodeRefOperateTrait + fmt::Debug + fmt::Display + Clone>
|
||||||
|
@ -92,6 +92,22 @@ impl<'a, N: NodeRefAccessorsTrait + NodeRefOperateTrait + fmt::Debug + fmt::Disp
|
|||||||
let inner = &mut *self.inner.lock();
|
let inner = &mut *self.inner.lock();
|
||||||
self.nr.entry().with_mut(inner, f)
|
self.nr.entry().with_mut(inner, f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn with_inner<T, F>(&self, f: F) -> T
|
||||||
|
where
|
||||||
|
F: FnOnce(&RoutingTableInner) -> T,
|
||||||
|
{
|
||||||
|
let inner = &*self.inner.lock();
|
||||||
|
f(inner)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn with_inner_mut<T, F>(&self, f: F) -> T
|
||||||
|
where
|
||||||
|
F: FnOnce(&mut RoutingTableInner) -> T,
|
||||||
|
{
|
||||||
|
let inner = &mut *self.inner.lock();
|
||||||
|
f(inner)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, N: NodeRefAccessorsTrait + NodeRefOperateTrait + fmt::Debug + fmt::Display + Clone>
|
impl<'a, N: NodeRefAccessorsTrait + NodeRefOperateTrait + fmt::Debug + fmt::Display + Clone>
|
||||||
|
@ -20,6 +20,13 @@ pub(crate) trait NodeRefOperateTrait {
|
|||||||
fn operate_mut<T, F>(&self, f: F) -> T
|
fn operate_mut<T, F>(&self, f: F) -> T
|
||||||
where
|
where
|
||||||
F: FnOnce(&mut RoutingTableInner, &mut BucketEntryInner) -> T;
|
F: FnOnce(&mut RoutingTableInner, &mut BucketEntryInner) -> T;
|
||||||
|
#[expect(dead_code)]
|
||||||
|
fn with_inner<T, F>(&self, f: F) -> T
|
||||||
|
where
|
||||||
|
F: FnOnce(&RoutingTableInner) -> T;
|
||||||
|
fn with_inner_mut<T, F>(&self, f: F) -> T
|
||||||
|
where
|
||||||
|
F: FnOnce(&mut RoutingTableInner) -> T;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Common Operations
|
// Common Operations
|
||||||
@ -115,7 +122,7 @@ pub(crate) trait NodeRefCommonTrait: NodeRefAccessorsTrait + NodeRefOperateTrait
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
fn relay(&self, routing_domain: RoutingDomain) -> EyreResult<Option<FilteredNodeRef>> {
|
fn relay(&self, routing_domain: RoutingDomain) -> EyreResult<Option<FilteredNodeRef>> {
|
||||||
self.operate_mut(|rti, e| {
|
let Some(rpi) = self.operate(|rti, e| {
|
||||||
let Some(sni) = e.signed_node_info(routing_domain) else {
|
let Some(sni) = e.signed_node_info(routing_domain) else {
|
||||||
return Ok(None);
|
return Ok(None);
|
||||||
};
|
};
|
||||||
@ -127,8 +134,14 @@ pub(crate) trait NodeRefCommonTrait: NodeRefAccessorsTrait + NodeRefOperateTrait
|
|||||||
if rti.routing_table().matches_own_node_id(rpi.node_ids()) {
|
if rti.routing_table().matches_own_node_id(rpi.node_ids()) {
|
||||||
bail!("Can't relay though ourselves");
|
bail!("Can't relay though ourselves");
|
||||||
}
|
}
|
||||||
|
Ok(Some(rpi))
|
||||||
|
})?
|
||||||
|
else {
|
||||||
|
return Ok(None);
|
||||||
|
};
|
||||||
|
|
||||||
// Register relay node and return noderef
|
// Register relay node and return noderef
|
||||||
|
self.with_inner_mut(|rti| {
|
||||||
let nr = rti.register_node_with_peer_info(rpi, false)?;
|
let nr = rti.register_node_with_peer_info(rpi, false)?;
|
||||||
Ok(Some(nr))
|
Ok(Some(nr))
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user