JoelKatz
adc4c855ca
Fix the ledger range we advertise to peers
2014-03-04 15:43:33 -08:00
Nik Bougalis
8b1df06a94
PeerFinder fixes:
...
* Fix local advertisement (was missing)
* Fix Livecache histogram display
* If no [ips] are specified, use r.ripple.com
* Use different backing stores for PeerFinder and Validator databases
2014-03-04 15:43:32 -08:00
Vinnie Falco
7c81eec30c
Remove unused TextDiff
2014-03-04 07:23:53 -08:00
Vinnie Falco
faa999d6d0
Consolidate C++14 compatibility into new headers
2014-03-03 18:51:56 -08:00
David Schwartz
370bfb7a22
Permit memos up to 1Kb.
...
* Overlong memos are basically treated like invalid signatures.
* Ability to clear message key.
2014-03-03 18:51:55 -08:00
David Schwartz
ae649ec917
Signature canonicalization and transaction mutation fixes
2014-03-03 18:51:55 -08:00
JoelKatz
93b44fcdc1
Return an empty pointer from getLedgerBySeq if sequence in future
2014-03-03 14:07:18 -08:00
David Schwartz
1fe57720c4
Legacy Pathfinding API improvements:
...
* Use the cache for source/dest currencies
* Allow a search depth and initial paths to be specified in old pathfinding
2014-03-03 10:59:31 -08:00
JoelKatz
fca8fa1b1b
Clean up ledger fetch reasons.
...
Don't trigger immediately when fetching historical ledgers.
2014-03-03 10:57:36 -08:00
David Schwartz
81082ad10f
Don't check the node store for proposed txn nodes
2014-03-03 10:57:31 -08:00
David Schwartz
2c515636cb
Release the InboundLedger lock during getMissingNodes
2014-03-03 10:57:26 -08:00
David Schwartz
2f7ac98e34
Improve I/O when fetching ledgers
...
* negative cache for node store
* async fetch, thread pool for node store
* read barrier logic for node store
* SHAMap getMissingNodesNB (non-blocking)
* non-blocking getMissingNodes traverse
* tune caches
2014-03-03 10:56:48 -08:00
Nik Bougalis
37b39ed1a1
Update LICENSE
2014-03-01 11:54:11 -08:00
Nik Bougalis
73485d5a23
Resolve hostnames found in the [ips] config section
2014-03-01 11:53:57 -08:00
Nik Bougalis
28c7827f14
Calculate program file directories:
...
* Determine location of database files in Config
* Inject database directory or file path in PeerFinder and Validators
* PeerFinder and Validators will share the same sqlite file
2014-03-01 11:53:57 -08:00
JoelKatz
e055dc1513
WebSocket dispatch changes.
...
Don't let one connection hold a thread for too long without
having to wait for another turn
2014-02-28 12:18:15 -08:00
JoelKatz
c173f14fc0
Give pathfinding updates priority over client and RPC requests
2014-02-28 12:15:41 -08:00
Howard Hinnant
cd30e552a7
Fix clang warnings
2014-02-28 12:15:12 -08:00
Vinnie Falco
9bf1a76e91
Remove unused classes
2014-02-28 12:03:33 -08:00
Vinnie Falco
2957b688fd
PeerFinder and Peers fixes:
...
- Fix bootcache incorrect failure on socket cancel
- Fix peer connect race on stop
- Simplify some loops
- Require boost 1.55 via static_assert
2014-02-28 12:03:33 -08:00
JoelKatz
add40d524f
Merge pull request #296 from nbougalis/quickfix-jobcount
...
Fix variable mismatch for job counts
2014-02-26 14:38:51 -08:00
Nik Bougalis
04a55e35b6
Fix variable mismatch for job counts
2014-02-26 14:29:00 -08:00
JoelKatz
955ce45448
Fix the assert on a self-connect
2014-02-24 22:30:04 -08:00
Vinnie Falco
995e64a205
PeerFinder fixes:
...
* Fix split horizon using recent address cache
* Change message tuning parameters to reduce dead messages
* Improved peer handout algorithm for addresses
* Improved handout algorithm for redirects
* Improved selection algorithm for autoconnect
* Faster autoconnection strategy
* Consolidate deadline timers
* Send empty endpoints message as a socket ping
* Fix hop count adjustments for live cache filtering
* Remove broken Peer::isConnected function
* Optimized Livecache for handouts
* Optimized Bootcache for handouts
* Remove uptime metric from Bootcache entries
* Add histogram to Livecache print output
2014-02-24 19:25:01 -08:00
Vinnie Falco
bf085f0ef3
New utility classes, containers, C++14 compatibility, and fixes:
...
* Add std::equal_to <void> (since C++14)
* Add heterogeneous std::equal (since C++14)
* Add maybe_const
* Add empty_base_optimization
* Add is_constructible specialization for pair, tuple
* Add aged associative containers:
- aged_set, aged_map, aged_multiset, aged_multimap
- aged_unordered_set, aged_unordered_map,
- aged_unordered_multiset, aged_unordered_multimap
* Fix auto keyword pass by reference
* Fix basic_seconds_clock warning and project file
2014-02-24 19:25:01 -08:00
David Schwartz
1374b37882
Remove dead serializer signature code
2014-02-24 18:28:44 -08:00
JoelKatz
e275f4eb9d
Handle a removed peer when counting ledger use
2014-02-24 18:28:43 -08:00
JoelKatz
652d809129
Validate params before dispatching
2014-02-24 18:28:43 -08:00
JoelKatz
c186519bcf
Ledger fetch fixes.
2014-02-24 18:28:42 -08:00
Nik Bougalis
870fb4f291
Fix missing break on mtCLUSTER handler
2014-02-24 18:28:42 -08:00
Nik Bougalis
7cd63489f4
Refactor Job tracking and statistics gathering
2014-02-23 01:47:35 -08:00
Vinnie Falco
616a53888e
Use forward_tuple to prevent needless copies
2014-02-22 21:33:01 -08:00
Vinnie Falco
a336cc26f9
Remove deprecated IPAddress
2014-02-22 21:33:00 -08:00
Howard Hinnant
382088c456
Add find_create stat to InboundLedgers
2014-02-22 21:33:00 -08:00
Howard Hinnant
ff80531db4
Update LICENSE
2014-02-22 21:32:59 -08:00
Vinnie Falco
105cf3cd1e
Revert "Tidy up build scripts:"
...
This reverts commit 66b5f75142 .
2014-02-22 21:32:59 -08:00
JoelKatz
38ba7e695a
Don't hold the master lock
2014-02-21 14:46:57 -08:00
JoelKatz
996326a00e
Configurable fetch depth.
2014-02-17 17:26:58 -08:00
JoelKatz
f2beb82b97
Pathfinding dispatch improvements
...
* Keep requests forwards, flip only on insert
* Insert requests in more sensible order (after new, before old)
* Remove a redundant cache/request check
2014-02-17 17:26:50 -08:00
JoelKatz
41c0702408
Fix custom currency parsers
2014-02-17 17:26:43 -08:00
Nik Bougalis
66b5f75142
Tidy up build scripts:
...
* Relax the boost -mt link requirement for Debian
* Tidy up scons output, reduce verbosity, add color
2014-02-17 15:50:51 -08:00
JoelKatz
c2a16ddbab
Cannot call gotTXData without master lock ... yet!
2014-02-14 14:26:03 -08:00
Vinnie Falco
5bb194cf89
PeerFinder fixes:
...
* Add Livecache property stream support
* Tidy up log output
* Move peer code to ripple_overlay module
* Remove or hide some Peer interfaces
* Fix asserts by removing isConnected which was not thread safe
2014-02-14 14:00:51 -08:00
Vinnie Falco
645b9a01c7
Make abstract_clock members const
2014-02-14 11:14:09 -08:00
Vinnie Falco
3a1a5d12de
Refactor PeerFinder:
...
* Revise documentation in README.md
* Inject abstract_clock in Manager
* Introduce the Slot object as a replacement for Peer
* New bullet-proof method for slot accounting
* Replace Peer with Slot for tracking connections
* Prevent duplicate outbound connection attempts
* Improved connection and bootstrap business logic
* Refactor PeerImp, PeersImp private interfaces
* Give PeersImp access to the PeerImp interface
* Handle errors retrieving endpoints from asio sockets
* Use weak_ptr to manage PeerImp lifetime
* Better handling of socket closure in PeerImp
* Improve the orderly shutdown logic of PeersImp
2014-02-13 14:19:27 -08:00
Vinnie Falco
12748e7539
Add chrono APIs to DeadlineTimer
2014-02-12 12:58:20 -08:00
Nicholas Dudfield
2f69d4c8ee
Update Travis matrix:
...
* New clang compiler target
* Sconstruct changes for clang
* Patches to support clang
2014-02-11 19:13:51 -08:00
Nicholas Dudfield
8dbf8b9038
Fix clang compile error
2014-02-11 19:13:45 -08:00
Vinnie Falco
fdfe047f3e
Fix new RPC dispatcher params
2014-02-11 19:05:08 -08:00
Vinnie Falco
38c3f84c9f
Update beast project file
2014-02-10 19:48:37 -08:00