Allow sync to to request block bodies.

This commit is contained in:
Paul Hauner
2019-03-23 13:23:44 +11:00
parent 96ba1c8f77
commit 4b5b5851a6
7 changed files with 305 additions and 33 deletions

View File

@@ -142,7 +142,7 @@ impl MessageHandler {
RPCResponse::BeaconBlockRoots(response) => {
debug!(
self.log,
"BeaconBlockRoots response received from peer: {:?}", peer_id
"BeaconBlockRoots response received"; "peer" => format!("{:?}", peer_id)
);
self.sync.on_beacon_block_roots_response(
peer_id,
@@ -150,6 +150,17 @@ impl MessageHandler {
&mut self.network_context,
)
}
RPCResponse::BeaconBlockHeaders(response) => {
debug!(
self.log,
"BeaconBlockHeaders response received"; "peer" => format!("{:?}", peer_id)
);
self.sync.on_beacon_block_headers_response(
peer_id,
response,
&mut self.network_context,
)
}
// TODO: Handle all responses
_ => panic!("Unknown response: {:?}", response),
}
@@ -233,10 +244,6 @@ impl NetworkContext {
};
// register RPC request
self.requests.insert((peer_id.clone(), id), Instant::now());
debug!(
self.log,
"Hello request registered with peer: {:?}", peer_id
);
id
}
}