Greg Fitzgerald
73ae3c3301
Apply most of clippy's feedback
2018-07-12 09:40:40 -06:00
Stephen Akridge
bed5438831
Improved streamer debug messages
...
distinguish between threads
2018-07-11 18:26:16 +02:00
Anatoly Yakovenko
d531b9645d
review comments
2018-07-10 13:32:31 -06:00
Anatoly Yakovenko
be2bf69c93
initial vote stage
...
wip
voting
wip
move voting into the replicate stage
update
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
update
fixup!
fixup!
fixup!
tpu processing votes in entries before write stage
fixup!
fixup!
txs
make sure validators have an account
fixup!
fixup!
fixup!
exit fullnode correctly
exit on exit not err
try 50
add delay for voting
300
300
startup logs
par start
100
no rayon
retry longer
log leader drop
fix distance
50 nodes
100
handle deserialize error
update
fix broadcast
new table every time
tweaks
table
update
try shuffle table
skip kill
skip add
purge test
fixed tests
rebase 2
fixed tests
fixed rebase
cleanup
ok for blobs to be longer then window
fix init window
60 nodes
2018-07-10 13:32:31 -06:00
Greg Fitzgerald
c65c0d9b23
Expose fewer exit variables
2018-07-10 11:11:36 -06:00
Anatoly Yakovenko
63985d4595
renamed to contact_info
2018-07-09 20:40:14 -06:00
Anatoly Yakovenko
2ea030be48
stick all the addrs into one struct
2018-07-09 20:40:14 -06:00
Greg Fitzgerald
c4fa841aa9
Remove exit variable from respond [stage]
...
And drop the sender that feeds input to the responder.
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
f284af1c3d
Remove exit variable from WindowStage and retransmit [stage]
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
46602ba9c3
Remove exit variable from ReplicateStage
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
0dabdfd48e
Use zero to represent a nonexistent account
...
This also fixes a bug in the thin client where a nonexistent account
would have triggered a panic because we were using `balances[k]` instead
of `balances.get(key)`.
Fixes #534
2018-07-02 18:48:40 -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
Stephen Akridge
1c9e7dbc45
Don't recycle in the replicate stage
...
Windowing stage owns all the blobs now
2018-06-29 07:14:47 -06:00
Rob Walker
2f42658cd4
...
2018-06-27 14:51:18 -07:00
Greg Fitzgerald
4aedd3f1b6
Cleanup type aliases and imports
2018-06-27 15:06:18 -06:00
Greg Fitzgerald
d5c0557891
Fix test_replicate too
2018-06-26 16:51:07 -06:00
Rob Walker
55ec7f9fe9
add entry.has_more
...
* quick fix for really big genesis
* longer term fix for possible parallel verification over multiple
Blobs/Entries
2018-06-26 13:57:10 -07:00
Rob Walker
1919ec247b
add a clock to validator windows (part 3 of #309 ) ( #448 )
...
* count entries processed by Bank
* initialize windows with initial height of Entries
2018-06-25 15:07:48 -07:00
Rob Walker
5e91d31ed3
issue 309 part 1
...
* limit the number of Tntries per Blob to at most one
* limit the number of Transactions per Entry such that an Entry will
always fit in a Blob
With a one-to-one map of Entries to Blobs, recovery of a validator
is a simple fast-forward from the end of the initial genesis.log
and tx-*.logs Entries.
TODO: initialize validators' blob index with initial # of Entries.
2018-06-22 09:58:51 -07:00
Anatoly Yakovenko
586141adb2
Cleanup TVU docs
2018-06-15 22:45:35 -06:00
Greg Fitzgerald
327ee1dae8
Apply feedback from @aeyakovenko
2018-06-15 17:01:38 -06:00
Greg Fitzgerald
22885c3e64
Add TVU ASCII art
2018-06-15 17:01:38 -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
7aa05618a3
data_replicator -> ncp
...
Fixes #327
2018-06-07 17:11:17 -06:00
anatoly yakovenko
216510c573
repair socket and receiver thread ( #303 )
...
repair socket and receiver thread
2018-06-02 08:32:51 -07: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
cf5671d058
tr -> tx
...
Missed a few.
2018-05-29 10:38:58 -06:00
Greg Fitzgerald
58c1589688
More 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
9f5a3d6064
events -> transactions
2018-05-25 16:47:21 -06:00
Greg Fitzgerald
4cdf873f98
Delete event.rs
2018-05-25 16:47:21 -06:00
Greg Fitzgerald
73d3c17507
Migrate from Event to Transaction Timestramp/Signature
2018-05-24 10:10:41 -06:00
Greg Fitzgerald
7f647a93da
Add last_id to Event timestamp/signature constructors
2018-05-24 10:10:41 -06:00
Anatoly Yakovenko
87e025fe22
fmt
2018-05-23 12:07:44 -06:00
Anatoly Yakovenko
8049323ca8
@garious review
2018-05-23 12:07:44 -06:00
Anatoly Yakovenko
b38c7ea2ff
fmt
2018-05-23 12:07:44 -06:00
Anatoly Yakovenko
239b925fb3
woop
2018-05-23 12:07:44 -06:00
Anatoly Yakovenko
60da7f7aaf
wip
2018-05-23 12:07:44 -06:00
Anatoly Yakovenko
8646ff4927
refactor wip
2018-05-23 12:07:44 -06:00
Anatoly Yakovenko
437c485e5c
cleanup
2018-05-23 12:07:44 -06:00
Greg Fitzgerald
abfd7d6951
Merge pull request #234 from sakridge/fix_events_addr
...
Send events to the right address
2018-05-22 16:59:28 -06:00
Anatoly Yakovenko
021953d59a
cleanup
2018-05-22 15:30:46 -07:00
Anatoly Yakovenko
bbe89df2ff
fmt
2018-05-22 15:18:07 -07:00
Anatoly Yakovenko
a638ec5911
builds
2018-05-22 15:17:59 -07:00
Stephen Akridge
8454eb79d0
Send events to the right address and set recv socket timeout
2018-05-22 13:52:50 -07:00
Greg Fitzgerald
6c1f1c2a7a
Promote create_entry() to Entry::new()
2018-05-16 23:18:58 -07:00
Greg Fitzgerald
9c62f8d81f
Add Event::Transaction constructor
2018-05-16 23:18:58 -07:00
Greg Fitzgerald
f7083e0923
Remove transaction processing from RPU and request processing from TVU
2018-05-15 12:15:29 -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
ee3fb985ea
Hoist set_timeout
2018-05-15 09:42:28 -06:00
Greg Fitzgerald
0a46bbe4f9
Merge pull request #219 from garious/add-write-stage
...
Move write_service and drain_service into new write_stage module
2018-05-14 17:18:04 -06:00
Greg Fitzgerald
81706f2d75
Move write_service and drain_service into new write_stage module
2018-05-14 16:31:31 -06:00
Anatoly Yakovenko
2d635386af
rebased
2018-05-14 15:20:41 -07:00
Greg Fitzgerald
7736b9cac6
Boot Alice and Bob from the unit tests
2018-05-14 15:39:34 -06:00
Greg Fitzgerald
d2dd005a59
accountant -> bank
2018-05-14 15:33:11 -06:00
Greg Fitzgerald
6e8f99d9b2
Purge EventProcessor
2018-05-14 14:45:29 -06:00
Greg Fitzgerald
17cc9ab07f
Rename Historian to RecordStage
...
Historian was a legacy name. The new name reflects the new pipelined
architecture.
2018-05-14 14:19:19 -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
a2c05b112e
Add historian to pipeline
...
No longer intercept entries to register_entry_id(). Intead,
register the ID in the Write stage.
EventProcessor is now just being used as a place to store data.
Fixes #216
2018-05-14 12:43:40 -06:00
Greg Fitzgerald
cc447c0fda
Drop support for EntryInfo subscriptions
2018-05-14 09:53:57 -06:00
Greg Fitzgerald
aec05ef602
Move RequestProcessor into its own module
2018-05-12 17:50:55 -06:00
Greg Fitzgerald
b2e3299539
Only pass accountant write_service
2018-05-12 17:30:15 -06:00
Greg Fitzgerald
6264508f5e
Consistent naming of senders and receivers
2018-05-12 15:24:20 -06:00
Greg Fitzgerald
a3869dd4c1
Move entry_receiver to RequestStage
...
This can move to AccountingStage once RequestStage stops
calling process_events().
2018-05-12 15:14:37 -06:00
Greg Fitzgerald
a3d2831f8c
Free up the name 'accounting_stage'
2018-05-12 14:05:57 -06:00
Greg Fitzgerald
1511dc43d7
Move RequestProcessor out of Rpu/Tvu state
2018-05-12 11:39:24 -06:00
Greg Fitzgerald
3d82807965
Delete dead code
2018-05-12 11:24:40 -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