Vinnie Falco
b2d97703c6
beast cleanup and tidying:
...
* Replace custom types with C++11 <cstdint> types
* Fix sqlite integer intos and uses
* Fix String implicit integer constructors
* Escape the enclosing namespace in sqdb
* Replace contract checks with assert
* Make many header files compile independently
* Remove the dependence on beast_core.h in many places
* Remove unused or obsolete classes and functions
* Remove unused or obsolete macros
* Remove unused network functions and files
* Remove unused or obsolete classes:
- ChildProcess
- HighResolutionTimer
- InterProcessLock
- Throw
- TrackedMutex
- UntrackedMutex
- XmlDocument
- XmlElement
2014-03-23 15:23:55 -07:00
Vinnie Falco
e344cb3d62
beast cleaning and tidying:
...
* Consolidate small modules into one
* Remove Android-specific platform support
* Remove Chrono.h from beast_core.h
* Removed files:
- TypeTraits.h
- Utility.h
- Net.h
- Asio.h
* Remove zlib support:
- Remove inline zlib library sources
- Remove GZIPCompressorOutputStream
- Remove GZIPDecompressorInputStream
* Remove obsolete or unused classes:
- AbstractObject
- BigInteger
- BufferedInputStream
- CacheLine
- CPUMeter
- DatagramSocket
- DynamicObject
- FileLogger
- FPUFlags
- Identifier
- JSON
- LocalisedStrings
- MACAddress
- MemoryAlignment
- MemoryInputStream
- MemoryMappedFile
- NamedValueSet
- OptionalScopedPointer
- PerformanceCounter
- PropertySet
- ScopedTimeInterval
- SparseSet
- SpinDelay
- StreamingSocket
- StringPool
- SubregionStream
- Uuid
- Variant
2014-03-21 07:30:50 -07:00
Vinnie Falco
3cb3e5273f
Change to the treatment of BeastConfig.h
...
* No longer requires its own compiler include path
* Includes use relative paths to locate the file
* Client applications include the file themselves
* Inclusion of BeastConfig.h can be controlled via preprocessor directive
2014-03-19 13:42:04 -07:00
Howard Hinnant
cad50c68a8
General tidy and refactoring:
...
* Use nullptr (C++11) instead of NULL.
* Put each file into its own namespace declaration.
* Remove "using namespace" directives and add scope qualifiers.
* Control when beast's implementation of std::equal (C++14) is used.
* Tidy up some const declarations.
Conflicts:
src/ripple_app/shamap/SHAMapSync.cpp
src/ripple_app/tx/TransactionEngine.cpp
2014-03-19 13:42:01 -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
JoelKatz
5522a23670
Don't relay old proposals.
2014-03-11 22:21:34 -07:00
JoelKatz
879c0d6b78
Be less promiscuous relaying proposals
2014-03-11 21:49:46 -07:00
Nik Bougalis
2e8df429df
Expose PeerImp::start instead of requiring the use of accept/connect
2014-03-11 19:02:18 -07:00
JoelKatz
2b5142ee4d
Make transaction forwarding less promiscuous
2014-03-11 19:02:17 -07:00
Nik Bougalis
569b3a46a1
Cleanups:
...
- Cleanup VotableInteger class and remove unused duplicate
- Remove obsolete function and move to std functions
- Fix typos
- Make isMemoOkay a free function
- Sanitize error returns
2014-03-11 19:02:17 -07:00
JoelKatz
cf63b5c859
Fix logging transactions that throw
2014-03-11 19:02:16 -07:00
David Schwartz
2505a908c5
Logging reduction in PeerImp
2014-03-11 19:02:15 -07:00
Nik Bougalis
9c465487ae
Cache the result of remote_endpoint at connect/accept time and use it
2014-03-11 19:02:14 -07:00
Donovan Hide
e8002a7a62
Fix ledger log warning, closes #298
2014-03-11 19:02:13 -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
David Schwartz
ae649ec917
Signature canonicalization and transaction mutation fixes
2014-03-03 18:51:55 -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
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
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
Nik Bougalis
870fb4f291
Fix missing break on mtCLUSTER handler
2014-02-24 18:28:42 -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
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