Nik Bougalis
958b3a1dc0
Simplify Beast:
...
* Remove asio HTTP classes
* Remove beast::File, beast::String, beast::Stream, beast::Array,
beast::MemoryBlock, beast::CriticalSection and other unused
classes.
* Remove unused platform-specific code.
* Reduce Beast custom assert and debugging helper macros.
2016-01-25 09:07:41 -08:00
Nik Bougalis
8064e82774
Simplify Beast:
...
* Remove obsolete RNG facilities
* Flatten directory structure
* Use std::recursive_mutex instead of beast::RecursiveMutex
2016-01-12 18:45:35 -08:00
seelabs
8db0094c73
Remove cxx14 compatibility layer from beast
2015-10-20 09:52:25 -04:00
Nik Bougalis
7373a26333
Use more C++11 features:
...
* Remove beast::static_initializer
* Remove noexcept VS2013 workaround
* Use [[noreturn]] attribute
2015-10-13 17:15:45 -07:00
Nik Bougalis
d4c4a03e42
Remove beast::SharedData
2015-10-13 17:15:45 -07:00
Howard Hinnant
37bf76692d
Add override keyword on all derived functions:
...
This silences warnings on latest clang compiler.
2015-09-18 11:50:33 -04:00
Edward Hennis
26fc812e21
Changes to support VS2015
2015-09-07 14:04:53 -07:00
Tom Ritchford
b783e353c4
Remove trailing spaces.
2015-07-31 17:39:03 -07:00
Nik Bougalis
9930b12d9d
Beast clean up:
...
* Remove binding, dispatch handling and exit hooks in favor
of std alternatives; remove crash-handling infrastructure,
error message framework, system-specific process handling
and Objective-C interop helpers.
* Simplify Beast function profiling
* Simplify beast::Time interface
* Simplify beast::String interface
* Simplify beast::File interface
2015-06-13 11:55:03 -07:00
Vinnie Falco
d11510c34c
Update hash_append to latest draft specification
2015-06-02 12:49:30 -07:00
Howard Hinnant
845c9f8a51
Change typedef to using.
...
Conflicts:
src/ripple/app/TODO.md
src/ripple/app/ledger/Ledger.h
src/ripple/protocol/Protocol.h
2015-05-22 11:09:50 -07:00
Vinnie Falco
9ad5644a8c
Reduce thread count in static_initializer test (RIPD-864)
2015-05-20 13:24:13 -07:00
Vinnie Falco
22d08b70ec
Fix beast::ci_equal
2015-04-20 15:52:16 -07:00
Howard Hinnant
fbf9c86c5c
Remove unnecessary allocation/deallocation from masterLock
...
* Add make_lock.
* Rename Application::LockType to Application::MutexType:
* Rename getMasterLock to getMasterMutex.
* Use getMasterMutex and make_lock.
* Remove unused code.
2015-03-26 12:38:33 -04:00
Vinnie Falco
df89999891
Remove obsolete classes:
...
Legacy workarounds for Visual Studio non thread-safe initialization
of function local objects with static storage duration are removed:
* Remove LeakChecked
* Remove StaticObject
* Remove SharedSingleton
2015-02-11 20:42:38 -05:00
Tom Ritchford
bff5212386
Fix C++ guards in beast.
2015-02-02 17:01:18 -08:00
Vinnie Falco
34f0f9dcf1
Fix Journal::Stream::active to return the correct value
2015-01-21 10:48:32 -08:00
Vinnie Falco
e8c07717fc
Tidy up container hash functions:
...
* Add xxhasher
* Move fnv1a, siphash, spookyto hash/
* Move hash_append, uhash to hash/
* Move hash_speed_test to hash/
* Move hash classes to individual header files
* Remove hardened_hash
2015-01-20 16:45:01 -08:00
Vinnie Falco
c01b4e6baa
Tidy up usage of std::begin, std::end
2014-12-19 11:55:43 -08:00
Vinnie Falco
d9c49386cb
Add WrappedSink:
...
This class puts a configured string prefix in front of
each line of Journal output.
2014-11-21 16:46:57 -08:00
Nik Bougalis
756ac603db
Simplify the Beast fatal error reporting framework:
...
* Reduce interface to a single function which reports error details
* Remove unused functions
2014-11-21 12:59:32 -08:00
Vinnie Falco
f3ebd508d6
Accept generic arguments in ci_equal
2014-11-14 11:10:11 -08:00
Vinnie Falco
7bc26c5ea0
Add WrappedSink
2014-11-10 12:52:57 -08:00
Vinnie Falco
98ea17f7fc
Make ci_equal a function
2014-11-10 12:52:42 -08:00
Vinnie Falco
15c1055ff4
Fix weak_fn unit test.
2014-11-09 20:27:05 -08:00
Vinnie Falco
3d7c6f831c
Add weak_fn
2014-11-08 14:36:44 -08:00
Nik Bougalis
186ca9c235
Reduce Beast public interface and eliminate unused code:
...
Beast includes a lot of code for encapsulating cross-platform differences
which are not used or needed by rippled. Additionally, a lot of that code
implements functionality that is available from the standard library.
This moves away from custom implementations of features that the standard
library provides and reduces the number of platform-specific interfaces
andfeatures that Beast makes available.
Highlights include:
* Use std:: instead of beast implementations when possible
* Reduce the use of beast::String in public interfaces
* Remove Windows-specific COM and Registry code
* Reduce the public interface of beast::File
* Reduce the public interface of beast::SystemStats
* Remove unused sysctl/getsysinfo functions
* Remove beast::Logger
2014-10-27 09:55:43 -07:00
Nik Bougalis
60330da25c
Use deleted members to prevent copying in Beast (RIPD-268)
2014-10-01 08:47:52 -07:00
Edward Hennis
d81154bf6c
Add enable_if_lvalue
2014-08-27 17:10:24 -04:00
Vinnie Falco
5b8bb822ba
HTTP support improvements:
...
* RFC2616 compliance
* Case insensitive equality, inequality operators for strings
* Improvements to http::parser
* Tidy up HTTP method enumeration
2014-08-05 13:17:01 -07:00
Howard Hinnant
6a1071ccd3
Tidy up hardened_hash:
...
* Added siphash as a HashAlgorithm
* Refactored class responsibilities
2014-07-28 09:06:22 -07:00
Vinnie Falco
11d667c830
Fix intrinsic calls in static_initializer
2014-07-28 09:04:41 -07:00
Miguel Portilla
df24ae0fbb
Workaround gcc bug with static_initializer default ctor
2014-07-17 18:00:43 -07:00
Vinnie Falco
b74cdb2f9d
Fix static_initializer: …
...
* Prevents double construction, invalid access
* Unit test works on MSVC and non MSVC
2014-07-16 16:43:17 -07:00
Howard Hinnant
7b4c705a3f
Improve Journal logging framework:
...
* Allow partition log levels to be adjusted
* Cleanups
2014-06-23 20:19:53 -07:00
Vinnie Falco
d26dadd9d8
Add static_initializer
2014-06-16 16:18:09 -07:00
Vinnie Falco
558b914c64
Reorganize source file hierarchy:
...
* Rename unity files
* Move some modules to new subdirectories
* Remove obsolete Visual Studio project files
* Remove obsolete coding style and TODO list
2014-06-03 21:43:59 -07:00
Vinnie Falco
ce8f56727e
Make all include paths relative to a root directory:
...
* Better include path support in the VSProject scons tool.
* Various manual fixes to include paths.
2014-06-02 09:16:28 -07:00
Vinnie Falco
6e8230e1fb
Add ci_char_traits
2014-05-28 07:30:02 -07:00
Vinnie Falco
4ccc380a7b
Tidy up some source filenames:
...
* Add .unity suffix to mark unity sources
* Fix some relative include paths
2014-05-27 15:23:48 -07:00
Nik Bougalis
a45b532664
Add beast::tagged_integer:
...
* Wraps standard integer types to provide type-safety
* Named types provide self-documenting semantics
* Catches programmer errors involving mismatched types at compile time
* Operators restrict mutation to only safe and meaningful operations
2014-04-15 11:48:35 -07:00
Vinnie Falco
c0dfbdc910
Fix Visual Studio 2013 build
2014-04-15 08:13:53 -07:00
Tom Swirly
a4ef993282
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
Howard Hinnant
2ab7cfbf30
New hash_append robust container hash function framework:
...
* is_contiguous_hashable trait identifies optimizable types
* hash_append() function overloads for basic types:
- scalars, floats
- array, C array
- pair, tuple
- boost array and tuple (if configured)
* Provided Spooky hash wrapper for use with hash_append
* Use hash_append in hardened_hash and other places
* New Utility meta functions for working with variadics:
- static_and
- static_sum
* Added type_name utility function for diagnostics
* hash_metrics suite of functions to evalulate hash functions
* Test suites to measure hash function performance
* Various fixes
2014-03-31 15:49:23 -07:00
Vinnie Falco
6b467e7e59
Move hardened_hash to container/
2014-03-25 15:22:34 -07:00
Vinnie Falco
d64f5a387c
Add beast SConstruct and .travis.yml
2014-03-25 15:22:34 -07:00
Vinnie Falco
3fbff6e620
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
5eb0aa2765
Add hardened_hash, prevents adversarial inputs
2014-03-22 18:42:18 -07:00
Vinnie Falco
f63cf33118
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
2d490f6e6a
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