Commit Graph

762 Commits

Author SHA1 Message Date
Anatoly Yakovenko c78132417f fix deadlock 2018-06-07 13:52:33 -06:00
Anatoly Yakovenko ba1163d49f fix logs 2018-06-07 13:52:33 -06:00
Anatoly Yakovenko 6f9c89af39 fix deadlock 2018-06-07 13:52:33 -06:00
Greg Fitzgerald f0d1fdfb46 Add missing module descriptions 2018-06-07 09:25:36 -06:00
Greg Fitzgerald 3b8b2e030a Better docs for transaction 2018-06-07 09:25:36 -06:00
Greg Fitzgerald b4fee677a5 Better docs for payment_plan 2018-06-07 09:25:36 -06:00
Greg Fitzgerald fe706583f9 Better docs for sigverify_stage 2018-06-07 09:25:36 -06:00
Greg Fitzgerald d0e0c17ece Better docs for rpu 2018-06-07 09:25:36 -06:00
Greg Fitzgerald 5aaa38bcaf Better docs for write_stage 2018-06-07 09:25:36 -06:00
Greg Fitzgerald 6ff9b27f8e Better docs for entry 2018-06-07 09:25:36 -06:00
Greg Fitzgerald 3f4e035506 Better docs for budget 2018-06-07 09:25:36 -06:00
Greg Fitzgerald 57d9fbb927 Better docs for banking_stage 2018-06-07 09:25:36 -06:00
Greg Fitzgerald ee44e51b30 Better docs for the bank 2018-06-07 09:25:36 -06:00
Stephen Akridge a710d95243 Fix non-erasure blob nulling 2018-06-05 15:32:25 -06:00
Stephen Akridge a06535d7ed cargo fmt 2018-06-05 15:32:25 -06:00
Stephen Akridge f511ac9be7 Fixes for receiving old blobs and nulling the window with coding 2018-06-05 15:32:25 -06:00
Stephen Akridge e28ad2177e Receive fixes 2018-06-05 15:32:25 -06:00
Stephen Akridge cb16fe84cd Rework to fix coding blob insertion 2018-06-05 15:32:25 -06:00
Stephen Akridge ec3569aa39 Move receive_index to correct place 2018-06-05 15:32:25 -06:00
Stephen Akridge 246edecf53 Add receive_index for broadcast blobs and fix blobs_len position 2018-06-05 15:32:25 -06:00
Stephen Akridge 34834c5af9 Store another size in the data block so it is coded as well 2018-06-05 15:32:25 -06:00
Stephen Akridge b845245614 Restore more of the blob window and add is_coding helper 2018-06-05 15:32:25 -06:00
Stephen Akridge 5711fb9969 Generate coding for the current blob set not just the first coding set 2018-06-05 15:32:25 -06:00
Stephen Akridge d1eaecde9a Fix deadlock and only push to contq if it's not a coding blob 2018-06-05 15:32:25 -06:00
Stephen Akridge 00c8505d1e Handle set_flags error 2018-06-05 15:32:25 -06:00
Stephen Akridge 33f01efe69 Fixes for erasure coding 2018-06-05 15:32:25 -06:00
Stephen Akridge 377d312c81 Revert log levels 2018-06-05 15:32:25 -06:00
Stephen Akridge badf5d5412 Add window recovery 2018-06-05 15:32:25 -06:00
Stephen Akridge 5455e8e6a9 Review comments 2018-06-05 15:32:25 -06:00
Stephen Akridge d053f78b74 Erasure refinements, fix generating orders table 2018-06-05 15:32:25 -06:00
Stephen Akridge 93b6fceb2f generate coding after indexing 2018-06-05 15:32:25 -06:00
Stephen Akridge ac7860c35d indexing blobs then coding 2018-06-05 15:32:25 -06:00
Stephen Akridge cb81f80b31 Enable logging for client demo 2018-06-05 15:32:25 -06:00
Stephen Akridge ea97529185 Fix erasure compilation 2018-06-05 15:32:25 -06:00
Greg Fitzgerald f1075191fe Clean up comments: Event -> Transaction 2018-06-04 21:43:46 -06:00
Greg Fitzgerald 7e788d3a17 No longer need explicit refs in rustc 1.26 2018-06-04 21:43:46 -06:00
anatoly yakovenko 69b3c75f0d
Power of two chance (#314)
* fix validator script
* 1/2^30 that we fail due to random returning the same value
2018-06-04 13:32:34 -07:00
Anatoly Yakovenko b2c2fa40a2 comments 2018-06-03 22:08:25 -06:00
Anatoly Yakovenko 50458d9524 more tests 2018-06-03 22:08:25 -06:00
Anatoly Yakovenko 9679e3e356 more tests 2018-06-03 22:08:25 -06:00
Anatoly Yakovenko 6db9f92b8a crdt gossip tests 2018-06-03 22:08:25 -06:00
Stephen Akridge 4a44498d45 Fix args in validator script, readme version, client-demo perf print 2018-06-02 21:55:27 -06:00
anatoly yakovenko 216510c573
repair socket and receiver thread (#303)
repair socket and receiver thread
2018-06-02 08:32:51 -07:00
Greg Fitzgerald 9b54c1542b Move defaults from bash to Rust 2018-05-31 17:18:11 -07:00
Greg Fitzgerald 93d5d1b2ad Default to 1 node 2018-05-31 17:18:11 -07:00
Greg Fitzgerald 4c0f3ed6f3 Attempt to revive the singlenode demo 2018-05-31 17:18:11 -07:00
Greg Fitzgerald 2580155bf2 Enable last of the ignored tests 2018-05-31 16:45:21 -06:00
Greg Fitzgerald 6ab0dd4df9 Remove config options from fullnode 2018-05-31 16:15:02 -06:00
Greg Fitzgerald 4b8c36b6b9 Add solana-fullnode-config 2018-05-31 16:15:02 -06:00
Greg Fitzgerald 359a8397c0 Make bootstrapping functions accessible to other binaries 2018-05-31 16:15:02 -06:00
Greg Fitzgerald c9fd5d74b5 Boot futures 0.1
We added them thinking it'd be a good stepping stone towards an
asynchronous thin client, but it's used inconsistently and where
it used, the function is still synchronous, which is just confusing.
2018-05-31 14:13:09 -06:00
Greg Fitzgerald 391744af97 Speed up the creation of the million accounts
All threads were locked on the same set of signatures.
2018-05-31 12:13:18 -06:00
Greg Fitzgerald 587ab29e09 Don't register entry ID until after processing its transactions 2018-05-31 12:13:18 -06:00
Greg Fitzgerald 80f07dadc5 Generalize process_entries()
And use it in fullnode
2018-05-31 12:13:18 -06:00
Greg Fitzgerald 60609a44ba Initialize recorder from bank's last_id 2018-05-31 12:13:18 -06:00
Greg Fitzgerald 7aab7d2f82 Sleep between events if PoH is disabled 2018-05-30 15:55:10 -06:00
Anatoly Yakovenko a8e1c44663 names 2018-05-30 14:50:53 -06:00
Anatoly Yakovenko a2b92c35e1 thread names 2018-05-30 14:50:53 -06:00
Anatoly Yakovenko 9f2086c772 names 2018-05-30 14:50:53 -06:00
Anatoly Yakovenko 3eb005d492 names for threds 2018-05-30 14:50:53 -06:00
Anatoly Yakovenko e44e81bd17 fmt 2018-05-30 14:04:48 -06:00
Anatoly Yakovenko f5eedd2d19 fmt 2018-05-30 14:04:48 -06:00
Anatoly Yakovenko d327e0aabd warn on tx verify sig 2018-05-30 14:04:48 -06:00
Anatoly Yakovenko 02c5b0343b fixed cloned 2018-05-30 14:04:48 -06:00
Anatoly Yakovenko f1311075d9 integration tests 2018-05-30 14:04:48 -06:00
Ubuntu 6c380e04a3 fix 2018-05-30 14:04:48 -06:00
Anatoly Yakovenko cef1c208a5 Crdt pipeline, coalesce window repair requests in the listener by examining all of them at once, and ublock those threads from doing io. 2018-05-30 14:04:48 -06:00
Greg Fitzgerald 9c9c63572b cargo fmt
rustfmt was updated with 1.26.1
2018-05-29 20:33:45 -07:00
Greg Fitzgerald 6c0c6de1d0 Better error names 2018-05-29 20:33:45 -07:00
Greg Fitzgerald b57aecc24c Better error if Bank doesn't recognize tx last_id 2018-05-29 20:33:45 -07:00
Greg Fitzgerald 290dde60a0 Test invalid tokens and fees 2018-05-29 20:33:45 -07:00
Greg Fitzgerald 38623785f9 Add fee to Transaction
Fixes #161
2018-05-29 20:33:45 -07:00
Greg Fitzgerald 76b06b47ba Delete dead code 2018-05-29 18:09:03 -06:00
Greg Fitzgerald cf15cf587f spending plan -> budget
Review feedback from @sakridge
2018-05-29 18:09:03 -06:00
Greg Fitzgerald 134c7add57 Fix bench build 2018-05-29 18:09:03 -06:00
Greg Fitzgerald ac0791826a plan.rs -> payment_plan.rs 2018-05-29 18:09:03 -06:00
Greg Fitzgerald d2622b7798 Allow for addtional smart contract languages
Fixes #159
2018-05-29 18:09:03 -06:00
Greg Fitzgerald f82cbf3a27 Move Budget EDSL into its own module 2018-05-29 18:09:03 -06:00
Greg Fitzgerald aa7e3df8d6 Plan -> Budget
Budget is now an EDSL. PaymentPlan is the interface to it.
2018-05-29 18:09:03 -06:00
Greg Fitzgerald ad00d7bd9c Move plan methods to a trait 2018-05-29 18:09:03 -06:00
Anatoly Yakovenko 8d1f82c34d breaks 2018-05-29 16:53:26 -07:00
Anatoly Yakovenko 0cb2036e3a comment on bad blob usage 2018-05-29 16:53:26 -07:00
Greg Fitzgerald 2b1e90b0a5 More idiomatic Rust 2018-05-29 14:04:27 -06:00
Greg Fitzgerald f2ccc133a2 Finally made fetch happen 2018-05-29 14:04:27 -06:00
Greg Fitzgerald 5e824b39dd Move multinode communication outside TPU 2018-05-29 14:04:27 -06:00
Greg Fitzgerald 41efcae64b Remove dead code
History: we thought SigVerifyStage would use these, but it does
signature verification before deserializing transactions.
2018-05-29 10:38:58 -06:00
Greg Fitzgerald cf5671d058 tr -> tx
Missed a few.
2018-05-29 10:38:58 -06:00
Greg Fitzgerald 2570bba6b1 Make apply_payment a method
History: the function was pulled out of Bank when each field wasn't
wrapped in a RwLock, and that locking 'balances' meant to lock
everything in the bank. Now that the RwLocks are here to stay,
we can make it a method again.
2018-05-29 10:38:58 -06:00
Greg Fitzgerald 71cb7d5c97 Better names 2018-05-29 10:38:58 -06:00
Greg Fitzgerald 0df6541d5e Fewer public functions 2018-05-29 10:38:58 -06:00
Greg Fitzgerald 52145caf7e Cleanup: make 'verified' qualifier implicit
History: Qualifying the method names with 'verified' was done to
distinguish them from methods that first did signature verification.
After we moved all signature verication to SigVerifyStage, we removed
those methods from Bank, leaving only the 'verified' ones.

This patch removes the word 'verified' from all method names, since
it is now implied by any code running after SigVerifyStage.
2018-05-29 10:38:58 -06:00
Anatoly Yakovenko 2dbf9a6017 rename 2018-05-26 20:13:42 -06:00
Anatoly Yakovenko fe93bba457 logs
poll both endpoints in client

logs

logs

logs

names

verify plan not sig

log

set udp buffer to max

drop output

more verbose about window requests

log the leader

load leader identity

readme for single node demo

update

asserts

update

replay all

rsync

dynamic file read in testnode

fix

cleanup

readme

sum

fix scripts

cleanup

cleanup

readme
2018-05-26 20:13:42 -06:00
Greg Fitzgerald 58c1589688 More typos 2018-05-26 00:36:50 -06:00
Greg Fitzgerald bb53f69016 Fix typos 2018-05-26 00:36:50 -06:00
Greg Fitzgerald fc00594ea4 Move multinode test to integration tests 2018-05-26 00:36:50 -06:00
Greg Fitzgerald 8d26be8b89 Run benchmarks in nightly
And name functions the same way as test functions
2018-05-26 00:36:50 -06:00
Greg Fitzgerald dcaeacc507 request_stage::serialize_packets -> packet::to_blobs
Good stuff - no need to hide them.
2018-05-25 17:31:07 -06:00
Greg Fitzgerald 4f377e6710 Generalize serialize_responses 2018-05-25 17:31:07 -06:00
Greg Fitzgerald 122db85727 Move channel-oriented code into request_stage 2018-05-25 17:31:07 -06:00