Commit Graph

14581 Commits

Author SHA1 Message Date
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
Rob Walker
6ee45d282e some auto-detect of wallet commands 2018-07-02 15:51:12 -06:00
Michael Vines
cfc3bd0696 Add manual wallet sanity test 2018-07-02 14:38:01 -07:00
Michael Vines
3e0e09555a Undo UPnP UDP port binding 2018-07-02 14:38:01 -07:00
Michael Vines
1d8bb5144e Drop -demo suffix 2018-07-02 14:38:01 -07:00
Michael Vines
67e0100866 Bind to 0.0.0.0 2018-07-02 14:38:01 -07:00
Michael Vines
f2ab08c65e Reuse request UDP port for responses 2018-07-02 14:38:01 -07:00
Greg Fitzgerald
04a93050e7 No need to share a write lock across single-threaded methods 2018-07-02 15:25:16 -06:00
Michael Vines
03401041db Correct signature argument name 2018-07-02 11:24:13 -07:00
Michael Vines
6eac744a05 Only rsync leader.json once 2018-07-02 10:59:09 -07:00
Michael Vines
ae29e2085f Init env_logger 2018-07-02 10:59:09 -07:00
Michael Vines
7ce0b58af8 Document pkg-config dependency 2018-07-02 10:42:56 -07:00
Michael Vines
ea5663c0da Demote log 2018-07-02 10:28:43 -07:00
Michael Vines
a61bfae8a4 Document libssl-dev dependency 2018-07-02 10:28:43 -07:00
Michael Vines
5716898216 setup.sh can now be more picky about the kind of config it creates 2018-07-02 09:22:26 -07:00
Michael Vines
c0f9e452f2 mint.json is now private 2018-07-02 09:22:26 -07:00
Greg Fitzgerald
4e3526394e Use IntoInterator to simplify write_entries() usage 2018-07-02 09:51:39 -06:00
Greg Fitzgerald
6806a14a3f Use Cursor instead of tempfile.
Faster and one less dependency.
2018-07-02 09:51:39 -06:00
Greg Fitzgerald
ec7e50b37d Consolidate ledger serialization code
The new read_entries() works, but is overly-contrained. Not
using that function yet, but adding it here in the hopes some
Rust guru will tell us how to get that lifetime constraint out
of there.

Fixes #517
2018-07-02 09:51:39 -06:00
Greg Fitzgerald
e7b7dfebf5 Add tests for process_ledger() 2018-07-02 09:51:39 -06:00
Michael Vines
a9e0b27772 Speed up snap build
1. Use pre-installed host rust toolchain
2. Build reference/performance fullnode in same part to avoid rebuilding libraries
3. Merge scripts into same part
2018-07-01 17:47:51 -07:00
Greg Fitzgerald
669164bada Boot EntryWriter's Mutex
Finally!
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
4f3a291391 Move the writer into EntryWriter 2018-07-01 17:29:24 -06:00
Greg Fitzgerald
56e37ad2f4 Limit sticky mutex to WriteStage 2018-07-01 17:29:24 -06:00
Greg Fitzgerald
17de79a83a Remove dead code 2018-07-01 17:29:24 -06:00
Greg Fitzgerald
09e9139855 Move channel code to write stage 2018-07-01 17:29:24 -06:00
Greg Fitzgerald
76fc5822c9 Send Vec<Entry> between stages instead of Entry
Might see a performance boost here.
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
c767a854ed Remove useless Arc 2018-07-01 11:35:32 -07:00
Greg Fitzgerald
b60802ddff Refactor such that genesis can use entry_writer 2018-07-01 11:35:32 -07:00
Greg Fitzgerald
1c35d59f26 Receive entries first, then write 2018-07-01 11:35:32 -07:00
Greg Fitzgerald
adcaf715c6 Cleanup write_entries 2018-07-01 11:35:32 -07:00
Greg Fitzgerald
1f9494221b Make space for a write_entry() that only writes entries 2018-07-01 11:35:32 -07:00
Greg Fitzgerald
466d6f76b9 Don't hide error in write_entry() 2018-07-01 11:35:32 -07:00
Greg Fitzgerald
b05e6ce3db Cleanup solana-genesis 2018-07-01 11:35:32 -07:00
Michael Vines
1d812e78d5 Use hard linking to speed up target cache save/restore 2018-07-01 08:59:42 -07:00
Michael Vines
fba494343f Save/restore target/ directory between builds 2018-06-30 22:30:57 -07:00
Michael Vines
0b878eccf8 Map HOME to grant docker containers access to the ~/.cargo registry cache 2018-06-30 21:50:15 -07:00
Michael Vines
98772b16d6 Generalize solana-snap build trigger 2018-06-30 21:50:15 -07:00
Michael Vines
bb82ff0c80 Don't wanna wait 2018-06-30 20:05:27 -07:00
Michael Vines
71af03dc98 Skip snap build for PRs if nothing under snap/ is modified
Additionally relegate push snap build to a secondary CI pipeline
2018-06-30 20:05:27 -07:00
Michael Vines
5671da4a0a Generate a client-specific mint.json 2018-06-30 15:28:17 -07:00
Michael Vines
d63493a852 Grant the snap build more time 2018-06-30 12:20:22 -07:00
Greg Fitzgerald
c06582ba40 Wallet no longer uses global mint.json 2018-06-29 22:26:42 -07:00
Michael Vines
450f271cf7 Move public IP address detection out of bash 2018-06-29 21:12:05 -07:00
Greg Fitzgerald
a31889f129 Readme version bump 2018-06-29 21:39:41 -06:00
Tyera Eulberg
ba6a6f5227 Use clap crate for wallet CLI subcommands and arguments 2018-06-29 21:30:20 -06:00
Greg Fitzgerald
9a38d61048 Version bump 2018-06-29 21:23:50 -06:00
Michael Vines
903ec27754 Add BROKEN_NAT env variable to select Udp sender port workaround 2018-06-29 20:02:28 -07:00
Michael Vines
0b56d603c2 Client NAT traversal 0.1
UPnP is now used to request a port on the NAT be forwarded to the local machine.
This obviously only works for NATs that support UPnP, and thus is not a panacea
for all NAT-related connectivity issues.

Notable hacks in this patch include a transmit/receive UDP socket pair to work
around current protocol limitations whereby the full node assumes its peer can
receive on the same UDP port it transmitted from.
2018-06-29 17:36:26 -07:00
Michael Vines
4ffb5d157a Disable coverage until issue #433 is resolved 2018-06-29 17:36:26 -07:00