behzad nouri
|
eff59193db
|
enforces that LAST_SHRED_IN_SLOT is also DATA_COMPLETE_SHRED (#24892)
A data shred cannot be LAST_SHRED_IN_SLOT if not also DATA_COMPLETE_SHRED.
So LAST_SHRED_IN_SLOT should also imply DATA_COMPLETE_SHRED:
https://github.com/solana-labs/solana/blob/74b586ae7/ledger/src/shredder.rs#L116-L117
https://github.com/solana-labs/solana/blob/74b586ae7/core/src/broadcast_stage/standard_broadcast_run.rs#L80-L81
However current shred constructs allow specifying a shred which is
LAST_SHRED_IN_SLOT but not DATA_COMPLETE_SHRED:
https://github.com/solana-labs/solana/blob/74b586ae7/ledger/src/shred.rs#L117-L118
https://github.com/solana-labs/solana/blob/74b586ae7/ledger/src/shred.rs#L272-L273
The commit updates ShredFlags so that if a shred is not
DATA_COMPLETE_SHRED it cannot be LAST_SHRED_IN_SLOT either.
|
2022-05-02 23:33:53 +00:00 |
behzad nouri
|
0f60665100
|
replaces Shred::new_empty_coding with Shred::new_from_parity_shard (#24749)
Removing implementation details of shreds and payload offsets from
shredder, so that shredder does not need to mutate payload:
https://github.com/solana-labs/solana/blob/71ad12128/ledger/src/shred.rs#L968-L977
Also, Shred::new_from_data can simply obtain a slice as opposed to
Option<&[u8]>:
https://github.com/solana-labs/solana/blob/71ad12128/ledger/src/shred.rs#L268-L278
|
2022-04-27 18:04:10 +00:00 |
behzad nouri
|
895f76a93c
|
hides implementation details of shred from its public interface (#24563)
Working towards embedding versioning into shreds binary, so that a new
variant of shred struct can include merkle tree hashes of the erasure
set.
|
2022-04-25 12:43:22 +00:00 |
behzad nouri
|
705ea53353
|
moves sign_shred and new_coding_shred_header out of Shredder (#24487)
|
2022-04-19 20:00:05 +00:00 |
behzad nouri
|
01a096adc8
|
adds bitflags to Packet.Meta
Instead of a separate bool type for each flag, all the flags can be
encoded in a type-safe bitflags encoded in a single u8:
https://github.com/solana-labs/solana/blob/d6ec103be/sdk/src/packet.rs#L19-L31
|
2022-01-04 13:53:40 +00:00 |
Michael Vines
|
b8837c04ec
|
Reformat imports to a consistent style for imports
rustfmt.toml configuration:
imports_granularity = "One"
group_imports = "One"
|
2021-12-03 09:19:13 -08:00 |
carllin
|
8a846b048e
|
Add AncestorHashesRepair type (#18681)
|
2021-07-15 19:29:53 -07:00 |
carllin
|
97f2bcff69
|
master: Add nonce to shreds repairs, add shred data size to header (#10109)
* Add nonce to shreds/repairs
* Add data shred size to header
Co-authored-by: Carl <carl@solana.com>
|
2020-05-19 12:38:18 -07:00 |