72 Commits

Author SHA1 Message Date
Greg Fitzgerald
4bb7cefa15 Remove exit variable from WriteStage 2018-07-05 17:32:41 -06:00
Greg Fitzgerald
77bf17064a Add Service trait
Added a consistent interface to all the microservices.
2018-07-04 16:40:34 -06:00
Greg Fitzgerald
5d17c2b58f Return output receivers from each stage
Reaching into the stages' structs for their receivers is, in hindsight,
more awkward than returning multiple values from constructors. By
returning the receiver, the caller can name the receiver whatever it
wants (as you would with any return value), and doesn't need to
reach into the struct for the field (which is super awkward in
combination with move semantics).
2018-07-02 16:18:32 -06:00
Greg Fitzgerald
56e37ad2f4 Limit sticky mutex to WriteStage 2018-07-01 17:29:24 -06:00
anatoly yakovenko
c24b0a1a3f
TVU rework (#352)
Refactored TVU, into stages
* blob fetch stage for blobs
* window stage for maintaining the blob window
* pulled out NCP out of the TVU so they can be separate units
TVU is now just the fetch -> window -> request and bank processing
2018-06-13 21:52:23 -07:00
Greg Fitzgerald
928e6165bc Add TPU & RPU diagrams 2018-06-07 15:24:44 -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
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
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
46c19a5783 Rename sigverify modules 2018-05-25 17:31:07 -06:00
Greg Fitzgerald
9f5a3d6064 events -> transactions 2018-05-25 16:47:21 -06:00
Greg Fitzgerald
5a45eef1dc
Exit cleanup (#252)
* Ignore record_stage exit reason. We only really care about panic exit versus graceful exit.
* Ignore coverage build in CI
2018-05-24 10:03:17 -06:00
Greg Fitzgerald
b826f837f8 First attempt to pull TPU into the server 2018-05-15 11:25:55 -06:00
Greg Fitzgerald
5855e18a4e Let server own the bank, not TPU/RPU 2018-05-15 11:21:48 -06:00
Greg Fitzgerald
e9ee020b5f Rename constructors 2018-05-15 10:45:36 -06:00
Greg Fitzgerald
1bcf3891b4 New TPU/RPU constructors 2018-05-15 10:44:47 -06:00
Greg Fitzgerald
5456de63e9 Less state 2018-05-15 10:38:17 -06:00
Greg Fitzgerald
9026c70952 Inline Rpu::new 2018-05-15 10:33:16 -06:00
Greg Fitzgerald
99dc4ea4a9 Spin up threads from Rpu/Tpu constructors 2018-05-15 10:30:52 -06:00
Greg Fitzgerald
0aaa500f7c Rpu/Tpu serve() functions now only spin up threads 2018-05-15 10:10:45 -06:00
Greg Fitzgerald
7e44005a0f Don't do error-prone things in functions that spawn threads 2018-05-15 09:53:51 -06:00
Greg Fitzgerald
2a268aa528 Reorder to reflect dependencies 2018-05-15 09:17:48 -06:00
Greg Fitzgerald
ef6bd7e3b8 Add TPU 2018-05-14 17:36:19 -06:00
Greg Fitzgerald
421d9aa501 Free up the name 'tpu' 2018-05-12 10:53:25 -06:00
Greg Fitzgerald
898f4971a2 Free up name 'thin_client_service' 2018-05-12 10:50:22 -06:00
Greg Fitzgerald
7ab3331f01 Move validation processor to its own module 2018-05-12 00:31:32 -06:00
Greg Fitzgerald
b4ca414492 More object-oriented 2018-05-12 00:19:12 -06:00
Greg Fitzgerald
73abea088a No need for TPU dependency 2018-05-11 23:51:35 -06:00
Greg Fitzgerald
2376dfc139 Let thin client own the receiver channel 2018-05-11 23:46:04 -06:00
Greg Fitzgerald
d2f95d5319 Move thin client service thread into thin_client_service.rs 2018-05-11 23:37:44 -06:00
Greg Fitzgerald
cd96843699 Free up name ThinClientService 2018-05-11 23:37:14 -06:00
Greg Fitzgerald
ca80bc33c6 Move the writer stage's utilities to its own module 2018-05-11 22:36:16 -06:00
Greg Fitzgerald
19607886f7 Move sig verification stage into its own module 2018-05-11 21:51:37 -06:00
Greg Fitzgerald
3c11a91f77 Cleanup verifier error handling 2018-05-11 21:01:07 -06:00
Greg Fitzgerald
b781fdbd04 Reorganize 2018-05-11 20:50:50 -06:00
Greg Fitzgerald
765d901530 Better names 2018-05-11 20:18:04 -06:00
Greg Fitzgerald
3cedbc493e Reorder to reflect the pipeline order 2018-05-11 20:11:25 -06:00
Greg Fitzgerald
0488d0a82f Extract sig verify functions 2018-05-11 19:59:40 -06:00
Greg Fitzgerald
f0be595e4c Create function for thin client thread 2018-05-11 17:58:27 -06:00
Greg Fitzgerald
55100854d6 Better names 2018-05-11 16:41:35 -06:00
Greg Fitzgerald
bcdb058492 cargo fmt 2018-05-11 13:06:05 -06:00
Jackson Sandland
250830ade9 cargo fmt run 2018-05-11 11:38:52 -07:00
Code Cobain
458c27c6e9
Merge branch 'master' into 153-panic-cleanup 2018-05-11 11:18:45 -07:00
Jackson Sandland
c95c6a75f8 tpu.rs - panic cleanup 2018-05-10 20:49:58 -07:00
Jackson Sandland
bb654f286c tpu.rs - panic cleanup 2018-05-10 18:21:10 -07:00
Greg Fitzgerald
cf186c5762 Better names 2018-05-10 16:58:37 -06:00
Greg Fitzgerald
f384a2ce85 Move streamer-specific utility into streamer module 2018-05-10 16:58:37 -06:00
Greg Fitzgerald
803b76e997 More idiomatic Rust 2018-05-10 16:58:37 -06:00