Vinnie Falco
8545aee4c7
Better diagnostics for SSL certificate failures
2014-03-14 16:20:34 -07:00
Vinnie Falco
c2fd1215f5
Refactor beast::asio:
...
* New tools for completion handlers:
- wrap_handler provides composed io_service execution guarantees.
- bind_handler rebinds arguments to handlers.
- shared_handler type-erases any completion handler.
- buffer_sequence type-erases templated BufferSequences
- abstract_socket replaces Socket
- socket_wrapper replaces SocketWrapper
- beast::asio placeholders to work with std::bind
* Removed obsolete classes and functions
- AbstractHandler
- ComposedAsyncOperation
- SharedFunction
- SharedHandler
- SharedHandlerAllocator
- SharedHandlerPtr
- SharedHandlerType
- SocketBase
- SocketWrapperStrand
- wrapHandler
* Refactored classes to use new tools
- abstract_socket
- socket_wrapper
- HandshakeDetector
- HttpClientType
* Miscellanous tidying
- socket classes moved to beast::asio namespace
- beast asio files provide their own namespace declaration.
- Fix IsCallPossible conflicting template parameter name
- Use <boost/get_pointer.hpp> for C++11 compatibility.
- Remove extraneous include path from build environment.
2014-03-14 08:03:48 -07:00
Vinnie Falco
4e357601ec
Move MultiSocket, RippleSSLContext to common module
2014-03-14 07:57:20 -07:00
Vinnie Falco
3674b01634
Add ripple::byte_view, ripple::const_byte_view
2014-03-14 07:57:20 -07:00
Nik Bougalis
4b71673ee9
Improve validation of JSON inputs
2014-03-11 19:02:14 -07: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
faa999d6d0
Consolidate C++14 compatibility into new headers
2014-03-03 18:51:56 -08:00
David Schwartz
ae649ec917
Signature canonicalization and transaction mutation fixes
2014-03-03 18:51:55 -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
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
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
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
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
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
575b0bb7b0
Fix gcc compile
2014-02-07 09:09:01 -08:00
NATTSiM
9cc8c341e7
Fix clang compile
2014-02-07 08:09:15 -08:00
Vinnie Falco
9b657ba224
Refactor RPC module:
...
* Move JsonPropertyStream to ripple_json
* Remove unused RPC service manager
* Recreate RPC module in app code area
* Add RPC::Manager
* Add DoPrint handler
2014-02-06 18:21:08 -08:00
Nik Bougalis
1a6bf88900
Resolver Work:
...
* Don't stall during shutdown
* Properly handle unit test execution
* Handle whitespace when parsing names to resolve
2014-02-05 15:57:09 -08:00
Nik Bougalis
e60b28980a
PeerFinder work and refactoring:
...
* Implement PeerFinder business logic.
* Support fixed peers (including DNS support).
* Add journal support to Peer and Peers.
* Refactor PeerDoor support.
* Tidy up Peers and eliminate connection functionality and timers.
* Refactor Peer interface and add journal support.
* Allow construction of incoming Peer using an existing socket.
* Remove TESTNET support.
* Allow connections from/to cluster peers without consuming slots
* Misc. cleanups.
2014-02-05 15:56:04 -08:00
Vinnie Falco
2009f8b1ca
Add insight support to TaggedCache, KeyCache:
...
* Move TaggedCache, KeyCache to common
* Add radmap module, FullBelowCache class
* Add get_seconds_clock
* Inject FullBelowCache in SHAMap
2014-02-03 23:00:45 -08:00
JoelKatz
d62287d54b
Calculate correct fee in RPC sign/submit, error if over limit
2014-01-31 19:26:53 -08:00
Vinnie Falco
580d179dd0
Tidy up Validators logging
2014-01-29 07:53:27 -08:00
Vinnie Falco
65ffdff40c
Insight support for ResourceManager
2014-01-21 10:28:36 -05:00
Vinnie Falco
9d07ddeae1
Improved human readable JSON-RPC error messages
2014-01-21 10:28:34 -05:00
Vinnie Falco
9b61a83721
Refactor, tidy up:
...
* Fix for msvc std::function return types
* Convert macros to constants
* Add Journal to PeerSet and use in InboundLedger
* Break lines and add annotations
* Remove some warnings
2014-01-21 10:28:33 -05:00
NATTSiM
25ff77c2fd
Fix Clang compile and link errors
2014-01-16 17:18:05 -05:00
David Schwartz
1fcb2872b9
Reduce log priorities.
2014-01-10 22:54:00 -08:00
Vinnie Falco
ce3358bdf8
Improve diagnostics for ResourceManager
2014-01-08 11:18:46 -08:00
Vinnie Falco
62516ef07f
Refactor TaggedCache
2014-01-07 21:14:14 -08:00
Vinnie Falco
b2feafa94c
Use abstract_clock and improved tests, in ResourceManager
...
Conflicts:
Builds/VisualStudio2012/RippleD.vcxproj.filters
2014-01-07 17:23:26 -08:00
JoelKatz
e25a83bb39
Some tiny bugfixes:
...
* Don't let ledger idle interval get too short
* Fix CBigNum::setuint256
* Fix SqliteStatement::isError
* Remove dead code, fix incorrect comments
* Check for NULL earlier in CKey constructors
* Prevent expire times from underflowing in TaggedCache
2014-01-07 15:57:49 -08:00
Vinnie Falco
087301933a
General refactoring, using C++11
...
* Remove broken RecycledObjectPool
* Fix beast::ServiceQueue using List instead of LockFreeStack
* Add class semaphore, fixes broken Semaphore
* Move crytpo module files to new beast directory
* Use c++11 replacements for boost and beast types:
- std::atomic instead of beast::Atomic
- std::function instead of boost::function, beast::function
- std::unique_ptr instead of beast::ScopedPointer
- std::shared_ptr instead of boost::shared_ptr
* Remove modules:
- beast_db
- beast_crypto
- beast_extras
* Remove unnecessary classes:
- AbstractFifo
- AddConst
- AtomicCounter
- AtomicFlag
- AtomicPointer
- AtomicState
- CopyConst
- Expression
- ForwardList
- IfCond
- Interval
- IntrusiveArray
- KeyvaDB
- PointerToOther
- PointerTraits
- RemoveConst
- RemoveConstVolatile
- RemoveReference
- RemoveVolatile
- SharedObjectArray
- SingleThreadedSharedObject
- SophiaDB factory
- SortedSet
- WeakReference
- beast::unique_ptr
2014-01-07 15:57:45 -08:00
Vinnie Falco
4b1155bf32
Improved diagnostic for RocksDB error codes
...
Conflicts:
Builds/VisualStudio2012/RippleD.vcxproj.filters
2014-01-07 15:46:38 -08:00
Vinnie Falco
3c7fc31c95
Add ripple_common module
...
Conflicts:
Builds/VisualStudio2012/RippleD.vcxproj.filters
2014-01-07 15:15:44 -08:00
Vinnie Falco
49677aa799
Fix RippleBookType and unit tests
2013-12-29 11:33:50 -08:00
NATTSiM
27b771e2ba
Fix clang compile
2013-12-27 17:46:51 -08:00
Vinnie Falco
6527cdfa97
Add RippleAsset types
...
Conflicts:
Builds/VisualStudio2012/RippleD.vcxproj.filters
2013-12-27 17:21:11 -08:00
Vinnie Falco
81d418007a
Add CollectorManager for Beast.Insight support
2013-12-16 18:08:11 -08:00
Vinnie Falco
3705680d68
Disable RocksDB for older compilers
2013-12-10 11:23:06 -08:00
Vinnie Falco
177b3c93c4
Move DecayingSample to algorithm
2013-12-05 18:35:37 -08:00
Vinnie Falco
0f2a657196
Add double conversion for PropertyStream map items
2013-11-30 17:56:25 -08:00
Vinnie Falco
130c7c5c58
Refactor and fix some object arithmetic comparisons
2013-11-30 06:28:29 -08:00
Vinnie Falco
76c364ec2d
Add const now()
2013-11-30 01:42:38 -08:00