mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-30 20:57:10 +00:00
Cell Dissemination (Partial messages) (#8314)
- https://github.com/ethereum/consensus-specs/pull/4558 - https://eips.ethereum.org/EIPS/eip-8136 Co-Authored-By: Daniel Knopik <daniel@dknopik.de> Co-Authored-By: Pawan Dhananjay <pawandhananjay@gmail.com> Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
This commit is contained in:
@@ -392,6 +392,7 @@ pub enum Work<E: EthSpec> {
|
||||
GossipBlock(AsyncFn),
|
||||
GossipBlobSidecar(AsyncFn),
|
||||
GossipDataColumnSidecar(AsyncFn),
|
||||
GossipPartialDataColumnSidecar(AsyncFn),
|
||||
DelayedImportBlock {
|
||||
beacon_block_slot: Slot,
|
||||
beacon_block_root: Hash256,
|
||||
@@ -470,6 +471,7 @@ pub enum WorkType {
|
||||
GossipBlock,
|
||||
GossipBlobSidecar,
|
||||
GossipDataColumnSidecar,
|
||||
GossipPartialDataColumnSidecar,
|
||||
DelayedImportBlock,
|
||||
DelayedImportEnvelope,
|
||||
GossipVoluntaryExit,
|
||||
@@ -524,6 +526,7 @@ impl<E: EthSpec> Work<E> {
|
||||
Work::GossipBlock(_) => WorkType::GossipBlock,
|
||||
Work::GossipBlobSidecar(_) => WorkType::GossipBlobSidecar,
|
||||
Work::GossipDataColumnSidecar(_) => WorkType::GossipDataColumnSidecar,
|
||||
Work::GossipPartialDataColumnSidecar(_) => WorkType::GossipPartialDataColumnSidecar,
|
||||
Work::DelayedImportBlock { .. } => WorkType::DelayedImportBlock,
|
||||
Work::DelayedImportEnvelope { .. } => WorkType::DelayedImportEnvelope,
|
||||
Work::GossipVoluntaryExit(_) => WorkType::GossipVoluntaryExit,
|
||||
@@ -836,6 +839,10 @@ impl<E: EthSpec> BeaconProcessor<E> {
|
||||
Some(item)
|
||||
} else if let Some(item) = work_queues.gossip_data_column_queue.pop() {
|
||||
Some(item)
|
||||
} else if let Some(item) =
|
||||
work_queues.gossip_partial_data_column_queue.pop()
|
||||
{
|
||||
Some(item)
|
||||
} else if let Some(item) = work_queues.column_reconstruction_queue.pop() {
|
||||
Some(item)
|
||||
// Check the priority 0 API requests after blocks and blobs, but before attestations.
|
||||
@@ -1146,6 +1153,9 @@ impl<E: EthSpec> BeaconProcessor<E> {
|
||||
Work::GossipDataColumnSidecar { .. } => {
|
||||
work_queues.gossip_data_column_queue.push(work, work_id)
|
||||
}
|
||||
Work::GossipPartialDataColumnSidecar { .. } => work_queues
|
||||
.gossip_partial_data_column_queue
|
||||
.push(work, work_id),
|
||||
Work::DelayedImportBlock { .. } => {
|
||||
work_queues.delayed_block_queue.push(work, work_id)
|
||||
}
|
||||
@@ -1284,6 +1294,9 @@ impl<E: EthSpec> BeaconProcessor<E> {
|
||||
WorkType::GossipDataColumnSidecar => {
|
||||
work_queues.gossip_data_column_queue.len()
|
||||
}
|
||||
WorkType::GossipPartialDataColumnSidecar => {
|
||||
work_queues.gossip_partial_data_column_queue.len()
|
||||
}
|
||||
WorkType::DelayedImportBlock => work_queues.delayed_block_queue.len(),
|
||||
WorkType::DelayedImportEnvelope => work_queues.delayed_envelope_queue.len(),
|
||||
WorkType::GossipVoluntaryExit => {
|
||||
@@ -1506,6 +1519,7 @@ impl<E: EthSpec> BeaconProcessor<E> {
|
||||
Work::GossipBlock(work)
|
||||
| Work::GossipBlobSidecar(work)
|
||||
| Work::GossipDataColumnSidecar(work)
|
||||
| Work::GossipPartialDataColumnSidecar(work)
|
||||
| Work::GossipExecutionPayload(work) => task_spawner.spawn_async(async move {
|
||||
work.await;
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user