Rob Walker
b52230097e
groom Fullnode's new_with_bank() to match new() more
2018-09-12 09:24:42 -07:00
Rob Walker
a8fdb8a5a7
use a single BlobRecycler per fullnode
2018-09-11 16:56:54 -07:00
Rob Walker
b313b7f6f9
Revert "move rpc_server to drop() semantics instead of having its own thread"
...
This reverts commit 40aa0654fa012c835c2de2e33c29b288b4f89aea.
2018-09-10 22:48:33 -07:00
Rob Walker
40aa0654fa
move rpc_server to drop() semantics instead of having its own thread
2018-09-10 20:25:53 -07:00
Greg Fitzgerald
fc64e1853c
Initialize Window, not SharedWindow
...
Wrap with Arc<RwLock>> when/if needed, no earlier.
2018-09-10 11:40:26 -06:00
sakridge
d82ec2634c
Fix is_leader boolean ( #1115 )
...
A node is the leader if the address is none
2018-09-04 13:38:24 -07:00
Greg Fitzgerald
c9a1ac9b8c
Don't propogate errors we'll never handle
2018-09-04 06:01:32 -10:00
Rob Walker
176e806d94
rework of netwrk rendezvous
...
* rename NodeInfo field of Node from "data" to "info"
(touches a lot of files)
* update client to use gossip to find leader, a la drone
* rework multinode scripts
* move more stuff into rust
* added usage to all
* no more rsync unless you're a validator (TODO: whack that, too)
* fullnode doesn't bail if drone isn't up yet, just keeps trying
* drone doesn't bail if network isn't up yet, just keeps trying
2018-08-31 23:21:07 +09:00
Rob Walker
1af4cee63b
fix #1079
...
* move gossip/NCP off assuming anything about its address
* use a single socket to send and receive gossip
* remove --addr/-a from CLIs
* rearrange networking utility code
* use Arc<UdpSocket> to share the Sync-safe UdpSocket among threads
* rename TestNode to Node
TODO:
* re-enable 127.0.0.1 as a valid address in crdt
* change repair request/response to a similar, single socket
* pick cloned sockets or Arc<UdpSocket> for all these (rpu uses tryclone())
* update contact_info with network truthiness instead of what the node
says?
2018-08-31 23:21:07 +09:00
Greg Fitzgerald
4ab58f069a
Add back JsonRpcService changes
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
85f96d926a
Pacify clippy
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
816de4f8ec
Hoist shared code between leaders and validators
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
42229a1105
Hoist thread_hdls
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
d8820053af
Inline create_leader_threads and create_validator_threads
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
731f8512c6
Hoist Arc<Bank>
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
a133784706
Rename mode-specific constructors and return only thread handles
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
be58fdf1bb
Less constructors
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
57daeb35d2
Drop all references to new_leader and new_validator
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
9c5e69bf3d
Don't offer two ways to specify a leader
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
cfac127e4c
Extract lower-level constructor
...
Passing in the bank is useful for unit-tests since Fullnode doesn't
store it in a member variable.
2018-08-23 13:42:54 -07:00
Tyera Eulberg
2de8fe9c5f
Pass bank to rpc as reference
2018-08-23 09:06:17 -06:00
Tyera Eulberg
f7f7ecd4c6
Add json-rpc requestAirdrop endpoint
2018-08-23 09:06:17 -06:00
Tyera Eulberg
a9c3a28a3b
Add json-rpc sendTransaction endpoint
2018-08-23 09:06:17 -06:00
Tyera Eulberg
86c1d97c13
Fix validator rpc addr to match leader
2018-08-20 22:35:06 -07:00
Michael Vines
9eeaf2d502
Bind RPC port on all interfaces
2018-08-20 12:45:50 -07:00
Tyera Eulberg
1bf15ae907
Temporarily disable cargo audit CI failure
2018-08-18 12:29:49 -06:00
Tyera Eulberg
f73f3941cd
Revert ill-advised jsonrpc marker, and handle jsonrpc server close
2018-08-18 12:29:49 -06:00
Tyera Eulberg
1eb8724a89
Disable Rpc module for other tests to prevent port conflicts
2018-08-18 12:29:49 -06:00
Tyera Eulberg
c6662a4512
Implement Rpc in Fullnode
2018-08-18 12:29:49 -06:00
Greg Fitzgerald
c75d4abb0b
Tuck away PoH duration
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
b801ca477d
Declare fullnode a word
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
c830c604f4
Make BroadcastStage an actual stage
...
TODO: Why isn't BroadcastStage/RetransmitStage managed by the NCP?
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
0e66606c7f
Rename broadcaster to broadcast_stage
...
And move retransmitter code into retransmit_stage.
TODO: Add a BroadcastStage service
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
dc2a840985
Move FullNode::new_window into window module
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
2727067b94
Move winow into its own module
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
a09d2e252a
Move window dependencies out of streamer
...
No tests!?
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
3e9c463ff1
Offer only 1 way to create a fullnode with an empty window
2018-08-13 20:17:16 -06:00
Rob Walker
96d6985895
rework read_ledger, LedgerWriter, and LedgerWindow for recover()
...
fixes #910
2018-08-10 18:07:23 -07:00
anatoly yakovenko
2318ffc704
Use a different counter for validator account not found errors. ( #931 )
...
* Use a different counter for validator account not found errors. This is a usefull signal of something going wrong with the ledger
2018-08-10 15:18:44 -07:00
Greg Fitzgerald
b2067d2721
Rename kp variables to keypair
2018-08-09 13:41:37 -06:00
Greg Fitzgerald
c2bbe4344e
Rename KeyPair to Keypair
2018-08-09 13:41:37 -06:00
Rob Walker
fbc754ea25
plug in LedgerWindow
...
fixes #872
2018-08-07 17:27:53 -07:00
Rob Walker
ead0eb2754
move copy_ledger() back into ledger.rs
...
Don't recover() for copy(), as copy() is already tolerant of things
recover() guards against. Note: recover() is problematic if the ledger is
"live", i.e. is currently being written to.
2018-08-06 08:51:41 -07:00
Rob Walker
c3db2df7eb
tweak random access ledger
...
* add recover_ledger() to deal with expected common ledger corruptions
* add verify_ledger() for future use cases (ledger-tool)
* increase ledger testing
* allow replicate stage to run without a ledger
* ledger-tool to output valid json
2018-08-06 08:51:41 -07:00
Rob Walker
692b125391
Revert "Revert "fixups""
...
This reverts commit e2c68d877530a994848458124f58dd5bdf0eb190.
2018-08-06 08:51:41 -07:00
Rob Walker
5193819d8e
Revert "Revert "plug in new ledger""
...
This reverts commit 57e928d1d02a1c841d9bfd2c7717312084a6a24e.
2018-08-06 08:51:41 -07:00
Rob Walker
57e928d1d0
Revert "plug in new ledger"
...
This reverts commit 46d9ba5ca0ff1429dfd1aab1c824af33f454325c.
2018-08-03 10:24:51 -07:00
Rob Walker
e2c68d8775
Revert "fixups"
...
This reverts commit b72e91f6811b51522f8686035a4e87070b5a05b6.
2018-08-03 10:24:51 -07:00
Rob Walker
b72e91f681
fixups
2018-08-02 21:50:47 -07:00
Rob Walker
46d9ba5ca0
plug in new ledger
2018-08-02 21:50:47 -07:00