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
0bb6171a85
beast.streams improvements:
...
* New basic_std_ostream wraps any std::stream.
* New debug_ostream redirects output to debugger if attached.
2014-03-21 07:33:16 -07:00
Vinnie Falco
e92dd73169
Add const_container
2014-03-21 07:33:16 -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
Howard Hinnant
979c834ee0
Fix and add tests for empty_base_optimization.
2014-03-20 13:47:48 -07:00
Vinnie Falco
aff0ec18b0
Fix error code assignment in raw_parser
2014-03-20 10:43:01 -07:00
Vinnie Falco
d32b91e0de
Add abstract streams module:
...
* New basic_abstract_ostream template for generic output
* New abstract_ostream, common type alias
* basic_scoped_ostream, RAII output to abstract streams
2014-03-19 15:42:20 -07:00
Vinnie Falco
8b659a6d32
Add workaround/noexcept.h for visual studio
2014-03-19 13:42:05 -07:00
Vinnie Falco
18486169b3
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
d580e7c694
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
78ec5ccdbc
Restructure joyent message parser (from Node.js):
...
* New http::raw_parser wrapper
* Convert parser errors to error_code
* Enumeration and strings for parsed HTTP method
* Move parser engine into joyent namespace
* Rename includes to be distinct
2014-03-19 10:41:24 -07:00
Vinnie Falco
d4a5c0353d
beast, beast::asio improvements and fixes:
...
* New maybe_const_t alias for maybe_const
* New asio::enable_wait_for_async for safe cleanup
* New asio::memory_buffer, a managed boost::asio compatible buffer
* shared_handler improvements:
- Can be 'empty' (no stored handler).
- Default constructible as 'empty'.
- Safe evaluation in bool contexts, false==empty
* Fix is_call_possible metafunction:
- Works on empty argument lists
- Works with reference types
* Replace SafeBool idiom with C++11 explicit operator bool
* Move IPAddress function definitions to the header
* Move cyclic_iterator to container/
* Remove unused BufferType
* Remove obsolete classes:
- NamedPipe
- ReadWriteLock
- ScopedReadLock
- ScopedWriteLock
- LockGuard
2014-03-17 17:40:55 -07:00
Vinnie Falco
6546c30e17
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
5478c540cb
Add std::integer_sequence C++14 compatibility
2014-03-14 07:57:20 -07:00
Vinnie Falco
b5d81f4f92
Add beast::buffer_view
2014-03-14 07:57:19 -07:00
Vinnie Falco
2a99a8350f
Add C++11 noexcept compatibility for VS2013
2014-03-14 07:57:19 -07:00
Vinnie Falco
956f2b98b8
Merge commit '6c0edd2190bfd18ffc523f486367da3724cf98a3' into develop
2014-03-06 21:22:22 -08:00
Vinnie Falco
b9d0bf8822
Consolidate C++14 compatibility into new headers
2014-03-03 18:51:56 -08:00
Howard Hinnant
bb02112752
Fix clang warnings
2014-02-28 12:15:12 -08:00
Vinnie Falco
8eddcfd3d5
Remove unused classes
2014-02-28 12:03:33 -08:00
Vinnie Falco
78e1995365
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
c48b9244f2
Remove deprecated IPAddress
2014-02-22 21:33:00 -08:00
Vinnie Falco
e219008320
Make abstract_clock members const
2014-02-14 11:14:09 -08:00
Nicholas Dudfield
f62d034692
Fix clang compile error
2014-02-11 19:13:45 -08:00
Vinnie Falco
17b970a387
Fix insight object lifetimes in Group
2014-02-08 10:48:54 -08:00
Vinnie Falco
d060eb498f
Improved logging for insight stat packets
2014-02-08 09:33:04 -08:00
NATTSiM
c2bc7e2c30
Fix clang compile
2014-02-07 08:09:15 -08:00
Vinnie Falco
eb5691e8fa
Change bassert to always call assert
2014-02-06 14:30:03 -08:00
Vinnie Falco
864b20565b
Refactor IP::Endpoint
2014-02-05 15:53:16 -08:00
Vinnie Falco
aaced060bf
Add basic_seconds_clock, insight::Groups
2014-02-03 22:55:47 -08:00
Vinnie Falco
048a2d7bc3
Fix PropertyStream overloads
2014-01-29 07:53:27 -08:00
Vinnie Falco
307ad244b0
Use duration in insight::Event, add chrono_util
2014-01-21 10:28:35 -05:00
Vinnie Falco
0c0fa877cf
Add ScopedPointer::reset
2014-01-21 10:28:34 -05:00
Vinnie Falco
49bd8ac880
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
969ea98fd9
Add std::make_unique
2014-01-17 12:19:03 -05:00
NATTSiM
bd0f4b95ae
Fix Clang compile and link errors
2014-01-16 17:18:05 -05:00
NATTSiM
dda419ddd6
Improved PropertyStream find and print routines
2014-01-13 21:51:31 -08:00
Vinnie Falco
1f9e2c920c
Add io_latency_probe
2014-01-10 22:54:00 -08:00
Nik Bougalis
43f38a240e
Don't log StatsD messages to the console by default
2014-01-08 16:57:47 -08:00
Vinnie Falco
705e629001
Add std::hash <std::pair> specialization
2014-01-07 21:14:13 -08:00
Vinnie Falco
edc60e2e01
Fix warning in chrono_io
2014-01-07 21:14:07 -08:00
Vinnie Falco
9f65b26288
Add abstract_clock, manual_clock, chrono_io
...
Conflicts:
src/beast/Builds/VisualStudio2012/beast.vcxproj.filters
2014-01-07 17:17:26 -08:00
Vinnie Falco
496b337b27
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
3a895ccfaa
Reduce StatsDCollector log verbosity
2014-01-02 19:32:27 -08:00
NATTSiM
eb19343f91
Fix clang compile
2013-12-27 17:46:51 -08:00
Vinnie Falco
893b2d4587
Add AbstractObject, cyclic_iterator, Journal improvements
2013-12-27 16:47:43 -08:00