Vinnie Falco
b3f725d9fd
Update http code for http parser API changes
2014-03-06 21:44:29 -08:00
Vinnie Falco
50f5d5bdf3
Merge commit '6c0edd2190bfd18ffc523f486367da3724cf98a3' into develop
2014-03-06 21:22:22 -08:00
Vinnie Falco
d9a0181189
Set version to 0.22.0
2014-03-04 15:43:34 -08:00
Howard Hinnant
09570996a9
Fix beast::asio failures on OS X.
...
There are 38 unittest failures on OS X. These changes address all of
them by adjusting which side of the socket (send or receive) gets
shut down. In each case, the failure was 'Socket is not connected'.
I've interpreted that to mean that the other thread had already shut
down its side of the connection.
2014-03-04 15:43:33 -08:00
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
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
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
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
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
Vinnie Falco
9c5b071556
Fix crash on exit in ~InboundLedger
2014-02-08 11:07:10 -08:00