Implement functionality in GrpcBlockItemWriter to allow sending of EndOfStream status codes #16157
Description
Add functions to gRPC writer to allow sending of EndOfStream status (CN -> BN)
○ Block acknowledgement is a required feature
○ Earliest_block_number (local cache)
○ Latest_block_number(local cache)
○ Status
§ STREAM_END_RESET
□ No errors occurred, CN to reset occasionally?
§ STREAM_END_TIMEOUT
□ Delay between items was too long (BN didn't ack a block)
® Design mechanism for this? Configurable timeout?
□ CN should start a new stream before the failed block
§ STREAM_END_ERROR
□ Any scenario in which CN has internal errors and must try again
§ STREAM_END_TOO_FAR_BEHIND
□ BN too far behind
□ CN may stream to a different block node.
□ CN may resume streaming to this block node later.
Must include earliest and latest block available in EndOfStream
Metadata
Assignees
Labels
Type
Projects
Status
📋 Backlog