mirror of
https://github.com/pezkuwichain/pezkuwi-telemetry.git
synced 2026-06-09 19:11:01 +00:00
Address David's comments
This commit is contained in:
@@ -46,8 +46,8 @@ macro_rules! id_type {
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
//! Mostly we're just checking that everything compiles OK
|
||||
//! when the macro is used as expected..
|
||||
// Mostly we're just checking that everything compiles OK
|
||||
// when the macro is used as expected..
|
||||
|
||||
// A basic definition is possible:
|
||||
id_type! {
|
||||
|
||||
@@ -148,7 +148,7 @@ where
|
||||
self.total
|
||||
}
|
||||
|
||||
/// Fetch the current time source, incase we need to modify it.
|
||||
/// Fetch the current time source, in case we need to modify it.
|
||||
pub fn time_source(&mut self) -> &mut Time {
|
||||
&mut self.time_source
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ pub struct Aggregator(Arc<AggregatorInternal>);
|
||||
struct AggregatorInternal {
|
||||
/// Shards that connect are each assigned a unique connection ID.
|
||||
/// This helps us know who to send messages back to (especially in
|
||||
/// conjunction with the [`LocalId`] that messages will come with).
|
||||
/// conjunction with the `ShardNodeId` that messages will come with).
|
||||
shard_conn_id: AtomicU64,
|
||||
/// Feeds that connect have their own unique connection ID, too.
|
||||
feed_conn_id: AtomicU64,
|
||||
|
||||
@@ -97,7 +97,7 @@ impl Chain {
|
||||
}
|
||||
|
||||
/// Can we add a node? If not, it's because the chain is at its quota.
|
||||
pub fn can_add_node(&self) -> bool {
|
||||
pub fn is_overquota(&self) -> bool {
|
||||
// Dynamically determine the max nodes based on the most common
|
||||
// label so far, in case it changes to something with a different limit.
|
||||
self.nodes.len() < max_nodes(self.labels.best())
|
||||
@@ -105,7 +105,7 @@ impl Chain {
|
||||
|
||||
/// Assign a node to this chain.
|
||||
pub fn add_node(&mut self, node: Node) -> AddNodeResult {
|
||||
if !self.can_add_node() {
|
||||
if !self.is_overquota() {
|
||||
return AddNodeResult::Overquota;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ use std::sync::Arc;
|
||||
/// A unique Id is assigned per websocket connection (or more accurately,
|
||||
/// per thing-that-subscribes-to-the-aggregator). That connection might send
|
||||
/// data on behalf of multiple chains, so this ID is local to the aggregator,
|
||||
/// and a unique ID is assigned per batch of data too ([`internal_messages::LocalId`]).
|
||||
/// and a unique ID is assigned per batch of data too ([`internal_messages::ShardNodeId`]).
|
||||
type ConnId = u64;
|
||||
|
||||
/// Incoming messages are either from websocket connections or
|
||||
|
||||
@@ -83,7 +83,7 @@ fn pick_best_ip_from_options(
|
||||
realip
|
||||
}
|
||||
|
||||
/// Follow https://datatracker.ietf.org/doc/html/rfc7239 to decode the Forwarded header value.
|
||||
/// Follow <https://datatracker.ietf.org/doc/html/rfc7239> to decode the Forwarded header value.
|
||||
/// Roughly, proxies can add new sets of values by appending a comma to the existing list
|
||||
/// (so we have something like "values1, values2, values3" from proxy1, proxy2 and proxy3 for
|
||||
/// instance) and then the valeus themselves are ';' separated name=value pairs. The value in each
|
||||
@@ -91,10 +91,12 @@ fn pick_best_ip_from_options(
|
||||
///
|
||||
/// Examples from the RFC:
|
||||
///
|
||||
/// Forwarded: for="_gazonk"
|
||||
/// Forwarded: For="[2001:db8:cafe::17]:4711"
|
||||
/// Forwarded: for=192.0.2.60;proto=http;by=203.0.113.43
|
||||
/// Forwarded: for=192.0.2.43, for=198.51.100.17
|
||||
/// ```text
|
||||
/// Forwarded: for="_gazonk"
|
||||
/// Forwarded: For="[2001:db8:cafe::17]:4711"
|
||||
/// Forwarded: for=192.0.2.60;proto=http;by=203.0.113.43
|
||||
/// Forwarded: for=192.0.2.43, for=198.51.100.17
|
||||
/// ```
|
||||
fn get_first_addr_from_forwarded_header(value: &str) -> Option<&str> {
|
||||
let first_values = value.split(',').next()?;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user