Carl
c13ae10d31
Fix replay_stage to 1) skip leader slots, 2) create/set working banks properly
2019-02-25 11:38:46 -08:00
Greg Fitzgerald
d26f836212
tmp_copy_ledger -> tmp_copy_blocktree
2019-02-23 08:32:05 -07:00
Greg Fitzgerald
e19dbdc527
Use Bank for ticks_per_slot
2019-02-22 22:02:23 -07:00
Greg Fitzgerald
2d03ae2fae
Migrate fullnode to create_tmp_sample_blocktree
2019-02-22 11:18:01 -07:00
Greg Fitzgerald
4602d3bf46
Unit-tests can use ordinary keypairs
2019-02-21 22:01:20 -08:00
Greg Fitzgerald
778583ad08
Inline BlockConfig::ticks_per_slot
2019-02-21 20:37:21 -08:00
Michael Vines
b501090443
Route BankForks into the ReplayStage
2019-02-21 19:25:17 -08:00
Pankaj Garg
5c9777970d
moved fee collection code to runtime
2019-02-21 16:35:23 -08:00
Tyera Eulberg
d8f6865338
Rename EntryStream to Blockstream
2019-02-21 17:24:29 -07:00
Carl
fc48062867
Rename active_window_length to active_window_num_slots
2019-02-21 15:48:13 -08:00
Michael Vines
d25fc7a649
Stop passing blob_index unnecessarily into ReplayStage
2019-02-21 15:33:01 -07:00
Carl
60a6ff80ee
Change votes and associated test/helper functions to vote based on slot height
2019-02-21 15:31:53 -07:00
Michael Vines
7cb695df12
RetransmitStage now gets a BankForks
2019-02-21 12:56:56 -08:00
Michael Vines
dcf1200d2a
Make Fullnode do less work on rotation, ReplayStage can just pass along more details
2019-02-21 11:13:06 -08:00
Michael Vines
080db1c62d
Plumb BankForks into GossipService
2019-02-20 22:19:51 -08:00
Michael Vines
4d5e2c8a4d
Plumb BankForks into RPC subsystem
2019-02-20 21:46:48 -08:00
Michael Vines
59ee2b8892
Fullnode now holds a BankForks instead of a Bank
2019-02-20 21:13:04 -08:00
Michael Vines
0dde79f42b
Push BankForks into Fullnode::new()
2019-02-20 21:13:04 -08:00
Michael Vines
28a53959e0
Remove dead types
2019-02-20 18:39:32 -08:00
Michael Vines
6ed2e4c187
process_blocktree now loads forks
2019-02-20 17:27:02 -08:00
Sagar Dhawan
a484c87354
Make gossip selection stake based ( #2848 )
2019-02-20 17:08:56 -08:00
Michael Vines
a17903a89f
Tweak process_blocktree() signature to return a BankForks
2019-02-19 20:01:22 -08:00
Greg Fitzgerald
dde886f058
Move Bank to its own crate
...
Also:
* counters.rs to solana_metrics
* genesis_block.rs to solana_sdk
2019-02-19 07:17:04 -07:00
Greg Fitzgerald
ad9cd23202
Notify subscribers from ReplayStage
2019-02-18 20:04:30 -07:00
Greg Fitzgerald
5916177dc8
Drop RpcPubSubService's dependency on the Bank
...
Pass in RpcSubscriptions instead, which let's you choose a
bank fork when it's time to send notifications.
2019-02-18 20:04:30 -07:00
Greg Fitzgerald
e0b8f4202d
Use slot height for BankForks ids
2019-02-18 17:27:20 -07:00
Greg Fitzgerald
e4119268ca
Delete expensive integration test in unit-test suite
2019-02-18 09:27:09 -07:00
Carl
f33c6eb95f
delete leader rotation signal from banking stage
2019-02-17 19:30:45 -07:00
Anatoly Yakovenko
5f55a9be84
fmt
2019-02-17 15:43:13 -08:00
Anatoly Yakovenko
300e3d151d
remove the signal sender since its superfelous to a recv error
2019-02-17 15:43:13 -08:00
Anatoly Yakovenko
54dfe708c1
use ref for new_from_parent; test that transactions don't leak to parent
2019-02-17 15:02:08 -07:00
Anatoly Yakovenko
8166925f04
copy a new bank
2019-02-17 15:02:08 -07:00
Anatoly Yakovenko
64f1d93cc3
Use the accounts list from parents up to finalized bank for Account::load apis.
...
Borrow checker
query the previous parents accounts
cleanup!
s/tree/parents
Tests! Last_ids need to be inherited as well otherwise nothing works.
new_from_parent
2019-02-17 15:02:08 -07:00
Greg Fitzgerald
c646845cd3
Move RpcService into its own module
2019-02-17 12:20:05 -07:00
Greg Fitzgerald
eb483bc053
Move RpcPubSubService into its own module
2019-02-17 12:20:05 -07:00
Greg Fitzgerald
9fa8105ae8
Add a way to make a DAG of checkpointed Banks
2019-02-16 21:49:06 -07:00
Greg Fitzgerald
ac35fe9ed1
Flip the dependency; Create bank before scheduler
2019-02-16 14:16:48 -07:00
Greg Fitzgerald
3d70afc578
Boot leader scheduler from the bank
...
Functional change: the leader scheduler is no longer implicitly
updated by PohRecorder via register_tick(). That's intended to
be a "feature" (crossing fingers).
2019-02-16 14:16:48 -07:00
Greg Fitzgerald
97c93629a5
Don't use the Bank's LeaderScheduler
2019-02-16 10:55:58 -07:00
Greg Fitzgerald
643384e1ec
Add LeaderScheduler constructor to Bank
...
By passing a config and not a Arc'ed LeaderScheduler, callers
need to use `Bank::leader_scheduler` to access the scheduler.
By using the new constructor, there should be no incentive to
reach into the bank for that object.
2019-02-16 10:55:58 -07:00
Greg Fitzgerald
4467d5eb4c
Extract process_ledger from Bank
...
Fullnode was the only real consumer of process_ledger and it was
only there to process a Blocktree. Blocktree is a tree, and a
ledger is a sequence, so something's clearly not right here.
Drop all other dependencies on process_ledger (only one test) so
that it can be fixed up in isolation.
2019-02-16 08:07:26 -07:00
Michael Vines
626a381ddc
Collect and re-forward packets received while TpuForwarder is shutting down
2019-02-14 18:40:31 -08:00
Michael Vines
8790a92f07
Adjust create_counter to avoid imposing an AtomicUsize import on users
2019-02-13 20:24:04 -08:00
Michael Vines
0f8ff07b51
tpu now hangs on to its cluster_info
2019-02-13 16:16:18 -08:00
Michael Vines
863956d09c
Add multinode test for two nodes rotating at 1 tick per slot
2019-02-12 21:17:06 -08:00
Michael Vines
7118178e2c
Correctly compute max_tick_height when starting up a node
2019-02-12 21:17:06 -08:00
Michael Vines
1eabe66c85
setup_leader_validator: remove unnecessary ticks_per_slot parameter
2019-02-12 21:17:06 -08:00
Michael Vines
e341b33f21
Remove ticks_per_slot from Blocktree::write_entries(), it already knows
2019-02-12 15:52:27 -08:00
Michael Vines
6abdd6401d
clippy: passing BlocktreeConfig by ref is ok
2019-02-12 15:52:27 -08:00
Michael Vines
6632c7026d
Pass a BlocktreeConfig into all ledger helper functions
2019-02-12 15:52:27 -08:00