Howard Hinnant
6596c94eb9
Refactoring of container usage:
...
* New ripple container aliases use hardened_hash
* Use std::tuple instead of boost::tuple
* Use std unordered containers instead of boost
* Fix Destroyer for new containers
* Fix warning for fnv1a on 32-bit arch
* Validator fixes for new containers
2014-04-16 19:00:13 -07:00
Nik Bougalis
2ed8edc19d
Make is_set_bit a universal template function
2014-04-15 11:40:58 -07:00
Tom Swirly
feb88c4f7f
Enforce minimum version requirements on OpenSSL and Boost
2014-04-15 10:22:51 -07:00
Tom Swirly
64ee0d07d0
New Zero struct implements "compare with zero."
...
* Zero lets classes efficiently compare with 0, so
you can use constructors like x < zero or y != zero.
* New BEAST_CONSTEXPR to handle Windows/C++11 differences
regarding the constexpr specifier.
2014-04-14 11:14:11 -07:00
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
a865149c65
New unit_test framework:
...
* Header-only!
* No external dependencies or other beast modules
* Compilation options allow for:
- Stand-alone application to run a single test suite
- Stand-alone application to run a set of test suites
- Global suite of tests inline with the host application
- Disable test suite generation completely
* Existing tests reworked to use the new classes
2014-03-21 18:00:37 -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
Nik Bougalis
4b71673ee9
Improve validation of JSON inputs
2014-03-11 19:02:14 -07:00
Nik Bougalis
756da7b844
Fix strUnHex parsing of odd-length strings and add unit tests
2014-03-11 19:02:14 -07:00
Howard Hinnant
cd30e552a7
Fix clang warnings
2014-02-28 12:15:12 -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
Vinnie Falco
c341d1a71e
Tidy up for C++11, and fixes:
...
* Remove shared_ptr legacy support
* Add make_unique support for pre-C++14 environments
* Fix comparison bug in sqdb
* Use std::shared_ptr in a few places
2014-01-17 12:19:04 -05:00
Vinnie Falco
fa10e90c9d
Use abstract_clock
2014-01-17 12:19:04 -05:00
Vinnie Falco
68501763dd
Refactor KeyCache
2014-01-17 12:19:04 -05:00
NATTSiM
25ff77c2fd
Fix Clang compile and link errors
2014-01-16 17:18:05 -05:00
Vinnie Falco
62516ef07f
Refactor TaggedCache
2014-01-07 21:14:14 -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
JoelKatz
045beb5f36
Concurrent SHAMap code
...
Use shared lock for SHAMap itself and concurrent map for nodes
2014-01-07 15:57:47 -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
NATTSiM
27b771e2ba
Fix clang compile
2013-12-27 17:46:51 -08:00
Vinnie Falco
a01f546ae3
Use ScopedPointer instead of deprecated auto_ptr
2013-12-10 14:14:15 -05:00
Vinnie Falco
89aa2c7a6a
Refactor some Journal::Sink members
2013-11-30 17:32:50 -08:00
JoelKatz
e683c380e5
Fix a defect in RangeSet.
2013-11-20 11:31:14 -08:00
Vinnie Falco
b660d82516
Make TxFormats a Meyers singleton
2013-11-20 10:16:46 -08:00
Vinnie Falco
d8707cad2c
Refactor logging
2013-11-15 13:25:56 -08:00
Vinnie Falco
a05f33f6a7
Add annotation and clean up whitespace
2013-11-12 19:30:07 -08:00
Vinnie Falco
d4d6acdf68
Add MSVC Output window Journal config setting
...
Conflicts:
src/ripple/peerfinder/impl/Manager.cpp
src/ripple/validators/impl/Manager.cpp
2013-11-10 15:06:05 -08:00
Vinnie Falco
0bf006cdae
Beast class refactor
2013-10-03 19:03:10 -07:00
JoelKatz
26dfa9231a
Clean up Sustain.
2013-10-01 11:18:41 -07:00
Vinnie Falco
58a8a97177
Journal console output improvements
2013-09-28 16:42:16 -07:00
Vinnie Falco
3fefd43898
Add console feature to Journal
2013-09-28 15:09:12 -07:00
Vinnie Falco
d9f20436e8
Journal option to write to Output window (MSVC)
2013-09-28 15:09:11 -07:00
Vinnie Falco
fcd689afbf
Update copyright notice and licenses
2013-09-25 17:27:06 -07:00
David Schwartz
01d7d7bed9
Fix deadlock in blacklist code.
2013-09-24 13:18:50 -07:00
David Schwartz
c3bb005324
Use whitelist.
2013-09-24 13:11:22 -07:00
JoelKatz
5d63086b69
Tie in blacklist code.
2013-09-24 13:00:11 -07:00
JoelKatz
f61caaae09
Initial import of IP blacklist code.
2013-09-23 14:07:16 -07:00
Vinnie Falco
321898f71e
Add CryptoIdentifierType and RippleCryptoIdentifier Traits
2013-09-23 10:13:25 -07:00
Vinnie Falco
19eff08e16
Reorganize source files and modules
2013-09-23 10:13:21 -07:00
Vinnie Falco
e3e72b3fc3
Split some framework classes into ripple_frame module
2013-09-19 21:52:21 -07:00
Vinnie Falco
b493db1d65
Split ripple_json to its own module
2013-09-19 20:54:12 -07:00
Vinnie Falco
e6e090c542
Fixes for Service API hang on exit during unit tests
2013-09-19 19:41:55 -07:00
Vinnie Falco
89b1859929
Refactor Application shutdown using new Service, AsyncService interfaces
2013-09-19 17:18:43 -07:00
Vinnie Falco
604ca590b6
Fix SharedSingleton to use memoryBarrier
2013-09-17 17:58:21 -07:00
Vinnie Falco
feacf3ef13
Update LogJournal for new Journal interface
2013-09-17 17:47:07 -07:00
Vinnie Falco
846b8e339c
Tidy and rename all Ripple source files
2013-09-13 16:58:24 -07:00