mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-10 12:11:59 +00:00
Generalize sync ActiveRequests (#6398)
* Generalize sync ActiveRequests * Remove impossible to hit test * Update beacon_node/lighthouse_network/src/service/api_types.rs Co-authored-by: realbigsean <sean@sigmaprime.io> * Update beacon_node/network/src/sync/network_context.rs Co-authored-by: realbigsean <sean@sigmaprime.io> * Update beacon_node/network/src/sync/network_context.rs Co-authored-by: realbigsean <sean@sigmaprime.io> * Simplify match * Fix display * Merge remote-tracking branch 'sigp/unstable' into sync-active-request-generalize * Sampling requests should not expect all responses * Merge remote-tracking branch 'sigp/unstable' into sync-active-request-generalize * Fix sampling_batch_requests_not_enough_responses_returned test * Merge remote-tracking branch 'sigp/unstable' into sync-active-request-generalize * Merge branch 'unstable' of https://github.com/sigp/lighthouse into sync-active-request-generalize
This commit is contained in:
@@ -22,11 +22,6 @@ pub struct SingleLookupReqId {
|
||||
pub req_id: Id,
|
||||
}
|
||||
|
||||
/// Request ID for data_columns_by_root requests. Block lookup do not issue this requests directly.
|
||||
/// Wrapping this particular req_id, ensures not mixing this requests with a custody req_id.
|
||||
#[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)]
|
||||
pub struct DataColumnsByRootRequestId(pub Id);
|
||||
|
||||
/// Id of rpc requests sent by sync to the network.
|
||||
#[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)]
|
||||
pub enum SyncRequestId {
|
||||
@@ -35,11 +30,19 @@ pub enum SyncRequestId {
|
||||
/// Request searching for a set of blobs given a hash.
|
||||
SingleBlob { id: SingleLookupReqId },
|
||||
/// Request searching for a set of data columns given a hash and list of column indices.
|
||||
DataColumnsByRoot(DataColumnsByRootRequestId, DataColumnsByRootRequester),
|
||||
DataColumnsByRoot(DataColumnsByRootRequestId),
|
||||
/// Range request that is composed by both a block range request and a blob range request.
|
||||
RangeBlockAndBlobs { id: Id },
|
||||
}
|
||||
|
||||
/// Request ID for data_columns_by_root requests. Block lookups do not issue this request directly.
|
||||
/// Wrapping this particular req_id, ensures not mixing this request with a custody req_id.
|
||||
#[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)]
|
||||
pub struct DataColumnsByRootRequestId {
|
||||
pub id: Id,
|
||||
pub requester: DataColumnsByRootRequester,
|
||||
}
|
||||
|
||||
#[derive(Debug, Hash, PartialEq, Eq, Clone, Copy)]
|
||||
pub enum DataColumnsByRootRequester {
|
||||
Sampling(SamplingId),
|
||||
@@ -173,8 +176,9 @@ impl slog::Value for RequestId {
|
||||
}
|
||||
}
|
||||
|
||||
// This custom impl reduces log boilerplate not printing `DataColumnsByRootRequestId` on each id log
|
||||
impl std::fmt::Display for DataColumnsByRootRequestId {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
write!(f, "{}", self.0)
|
||||
write!(f, "{} {:?}", self.id, self.requester)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user