Commit Graph

51 Commits

Author SHA1 Message Date
Greg Fitzgerald
ee3fb985ea Hoist set_timeout 2018-05-15 09:42:28 -06:00
Greg Fitzgerald
d2dd005a59 accountant -> bank 2018-05-14 15:33:11 -06:00
Greg Fitzgerald
685de30047 Purge EventProcessor from RPU 2018-05-14 14:35:25 -06:00
Greg Fitzgerald
3f10bf44db Config recorder with any kind of Duration, not just milliseconds 2018-05-14 14:12:36 -06:00
Greg Fitzgerald
a3d2831f8c Free up the name 'accounting_stage' 2018-05-12 14:05:57 -06:00
Greg Fitzgerald
4180571660 Don't pass events_socket to RPU 2018-05-12 11:11:30 -06:00
Greg Fitzgerald
421d9aa501 Free up the name 'tpu' 2018-05-12 10:53:25 -06:00
Greg Fitzgerald
b4ca414492 More object-oriented 2018-05-12 00:19:12 -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
Greg Fitzgerald
4f629dd982 Add events socket instead of modifying the existing socket 2018-05-10 16:54:43 -06:00
Stephen Akridge
a80991f2b3 Fixes for serializing entries over blobs and reorg into ledger 2018-05-10 15:30:30 -07:00
Greg Fitzgerald
7ce11b5d1c Cleanup: use full words for field names
and optionally for variable names
2018-05-09 16:19:42 -06:00
Greg Fitzgerald
f2d4799491 Cleanup: field names should be nouns 2018-05-09 16:14:40 -06:00
Greg Fitzgerald
ded28c705f Tuck away the Historian
The Historian is now just a utility of the accounting stage.
2018-05-09 12:25:19 -06:00
Greg Fitzgerald
6967cf7f86 Boot sync_channel()
This is less useful now that we send Vec<Event> instead of Event.
2018-05-09 11:43:16 -06:00
Greg Fitzgerald
1dca17fdb4 cargo +nightly fmt 2018-05-08 18:59:01 -06:00
Greg Fitzgerald
785e971698 AccountantSkel -> Tpu
The terms Stub and Skel come from OMG IDL and only made sense while
the Stub was acting as an RPC client for the the Accountant object.
Nowadays, the Stub interface looks nothing like the Accountant and
meanwhile we've recognized the multithreaded implementation is more
reminiscent of a pipelined CPU. Thus, we finally bite the bullet and
rename our modules.

AccountantSkel -> Tpu
AccountantStub -> ThinClient

Up next will be moving much of the TPU code into separate modules,
each representing a stage of the pipeline. The interface of each
will follow the precedent set by the Historian object.
2018-05-08 17:40:02 -06:00
Greg Fitzgerald
9ff1a6f0cd Add a thread to support thin clients 2018-05-07 21:44:44 -06:00
Greg Fitzgerald
893011c3ba Process events instead of processing only transactions
Prep work to allow clients to send any type that can end up in
the ledger.
2018-05-07 14:51:13 -06:00
Stephen Akridge
e8f5fb35ac Multinode fixes and test
* Replace magic numbers for 64k event size
* Fix gossip, dont ping yourself
* Retransmit only to listening nodes
* Multinode test in stub marked unstable
2018-05-06 21:36:06 -07:00
Greg Fitzgerald
de680c2a8e Remove duplicate state 2018-05-03 13:24:37 -06:00
Anatoly Yakovenko
c2e2960bf7 Add broadcast impl 2018-05-03 10:34:01 -07:00
Greg Fitzgerald
4b9f115586 Hoist Historian input 2018-05-02 16:35:37 -06:00
Greg Fitzgerald
b60a98bd6e Startup log can reference IDs without itself 2018-04-26 08:42:34 -06:00
Greg Fitzgerald
d5d133353f Port blocking stub functions to new stateful ones 2018-04-26 08:42:34 -06:00
Greg Fitzgerald
38fdd17067 Add initializing log message to server
Handy when gesesis block is large.
2018-04-26 08:42:34 -06:00
rleungx
3da1fa4d88 improve the error messages 2018-04-21 21:52:55 +08:00
Stephen Akridge
8181bc591b Add -h/--help options for client-demo and testnode 2018-04-19 10:22:31 -07:00
rleungx
60015aee04 report serde parse errors to stderr 2018-04-19 23:51:57 +08:00
rleungx
b91f6bcbff report parse errors to stderr 2018-04-19 22:24:46 +08:00
Greg Fitzgerald
0a30bd74c1 Tell verifiers when not to parallelize accounting
Without this patch, many batches of transactions could be tossed
into a single entry, but the parallelized accountant can only
guarentee the transactions in the batch can be processed in
parallel.

This patch signals the historian to generate a new Entry after
each batch. Validators must maintain sequential consistency
across Entries.
2018-04-12 21:08:53 -06:00
Greg Fitzgerald
3b9ef5ccab Fix the nightly build 2018-04-11 20:24:14 -06:00
Anatoly Yakovenko
c934a30f66 commandline options for client and testnode 2018-04-09 21:14:52 -07:00
Stephen Akridge
f4466c8c0a Change for cuda verify integration 2018-04-05 20:00:44 -07:00
Greg Fitzgerald
0c60fdd2ce Make accountant thread-safe
Before this change, parallel transaction processing required locking
the full accountant. Since we only call one method,
process_verified_transaction, the global lock equates to doing no
parallelization at all.  With this change, we only lock the data that's
being written to.
2018-04-04 12:33:03 -06:00
Anatoly Yakovenko
5ac7df17f9 Implement window service
Batch out of order blobs until we have a contigious window.
2018-04-03 13:53:19 -07:00
Greg Fitzgerald
94eea3abec fmt 2018-04-02 21:15:21 -06:00
Greg Fitzgerald
daadae7987 Move replaying ledger out of accountant 2018-04-02 14:51:55 -06:00
Greg Fitzgerald
2b788d06b7 Move the historian up to accountant_skel 2018-04-02 14:41:07 -06:00
Greg Fitzgerald
46e8c09bd8 Revoke API access to first_id 2018-04-02 09:30:10 -06:00
Greg Fitzgerald
116166f62d Rename project: silk -> solana 2018-03-27 16:25:12 -06:00
Greg Fitzgerald
ddb21d151d Nightly rustfmt
Format code with the nightly version of rustfmt, which sorts imports.
2018-03-26 22:03:28 -06:00
Anatoly Yakovenko
14239e584f fix writer 2018-03-26 21:36:29 -06:00
Greg Fitzgerald
9a437f0d38 Revive silk-testnode 2018-03-23 21:49:28 -06:00
Greg Fitzgerald
803dcb0800 Mutex<bool> -> AtomicBool 2018-03-22 14:05:23 -06:00
Anatoly Yakovenko
eb94613d7d Use streaming socket interface within accountant
Pull messages from streamer process them and forward them to the sender.
2018-03-11 23:41:09 -05:00
Greg Fitzgerald
a4336a39d6 Initialize the testnode from a log
$ cargo run --bin silk-genesis-file-demo > demo-genesis.json
$ cat demo-genesis.json | cargo run --bin silk-genesis-block > demo-genesis.log
$ cat demo-genesis.log | cargo run --bin silk-testnode
2018-03-05 15:34:44 -07:00
Greg Fitzgerald
572475ce14 Load the genesis block 2018-03-04 00:15:17 -07:00
Greg Fitzgerald
4610de8fdd Switch to sync_channel to preserve order 2018-02-28 19:33:28 -07:00