Vinnie Falco
bbc8a8fdc4
Move hardened_hash to container/
2014-03-25 15:22:34 -07:00
Vinnie Falco
428872731a
Add beast SConstruct and .travis.yml
2014-03-25 15:22:34 -07:00
Nik Bougalis
436061be22
Transactor journal support and small cleanups
2014-03-25 15:22:13 -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
936f45c7ec
Add hardened_hash, prevents adversarial inputs
2014-03-22 18:42:18 -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
547019bd1b
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
953805d97e
Add const_container
2014-03-21 07:33:16 -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
693a5927a9
Update to SQLite 3.8.4.1
2014-03-20 19:17:25 -07:00
Howard Hinnant
07e2f87079
Fix and add tests for empty_base_optimization.
2014-03-20 13:47:48 -07:00
Vinnie Falco
9b152d8098
Fix error code assignment in raw_parser
2014-03-20 10:43:01 -07:00
Vinnie Falco
8daecb5430
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
f1462de729
Add workaround/noexcept.h for visual studio
2014-03-19 13:42:05 -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
c581ffb8a4
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
556778dbdb
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
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
e3c1375f36
Add std::integer_sequence C++14 compatibility
2014-03-14 07:57:20 -07:00
Vinnie Falco
f66aee4e7f
Add beast::buffer_view
2014-03-14 07:57:19 -07:00
Vinnie Falco
b2f06dbe3c
Add C++11 noexcept compatibility for VS2013
2014-03-14 07:57:19 -07:00
JoelKatz
f5765b71f2
Handle unexpected relative paths from __FILE__
...
Fixes comref#RIPD-133
2014-03-13 16:49:20 -07:00
Vinnie Falco
b3f725d9fd
Update http code for http parser API changes
2014-03-06 21:44:29 -08:00
Vinnie Falco
50f5d5bdf3
Merge commit '6c0edd2190bfd18ffc523f486367da3724cf98a3' into develop
2014-03-06 21:22:22 -08:00
Howard Hinnant
09570996a9
Fix beast::asio failures on OS X.
...
There are 38 unittest failures on OS X. These changes address all of
them by adjusting which side of the socket (send or receive) gets
shut down. In each case, the failure was 'Socket is not connected'.
I've interpreted that to mean that the other thread had already shut
down its side of the connection.
2014-03-04 15:43:33 -08:00
Vinnie Falco
7c81eec30c
Remove unused TextDiff
2014-03-04 07:23:53 -08:00
Vinnie Falco
faa999d6d0
Consolidate C++14 compatibility into new headers
2014-03-03 18:51:56 -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
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
a336cc26f9
Remove deprecated IPAddress
2014-02-22 21:33:00 -08:00
Vinnie Falco
645b9a01c7
Make abstract_clock members const
2014-02-14 11:14:09 -08:00
Vinnie Falco
12748e7539
Add chrono APIs to DeadlineTimer
2014-02-12 12:58:20 -08:00
Nicholas Dudfield
8dbf8b9038
Fix clang compile error
2014-02-11 19:13:45 -08:00
Vinnie Falco
38c3f84c9f
Update beast project file
2014-02-10 19:48:37 -08:00
Vinnie Falco
46dc52e449
Fix insight object lifetimes in Group
2014-02-08 10:48:54 -08:00
Vinnie Falco
a681a4fcd4
Improved logging for insight stat packets
2014-02-08 09:33:04 -08:00
NATTSiM
9cc8c341e7
Fix clang compile
2014-02-07 08:09:15 -08:00
Vinnie Falco
9bc6e83f8a
Change bassert to always call assert
2014-02-06 14:30:03 -08:00
Vinnie Falco
a253b2ef4b
Refactor IP::Endpoint
2014-02-05 15:53:16 -08:00
Vinnie Falco
0c2e35edc9
Remove obsolete Visual Studio projects
2014-02-05 15:42:28 -08:00
Vinnie Falco
35715a0146
Add basic_seconds_clock, insight::Groups
2014-02-03 22:55:47 -08:00
Vinnie Falco
20e27ceb04
Update Visual Studio 2013 project file
2014-02-03 22:36:29 -08:00
Vinnie Falco
3f091fce59
Update project build requirements
...
* Add Visual Studio 2013 project file
* Update SConstruct for boost 1.55.0
2014-02-03 16:58:32 -08:00
Vinnie Falco
616a514c4d
Fix PropertyStream overloads
2014-01-29 07:53:27 -08:00
Vinnie Falco
fe83f471f5
Use duration in insight::Event, add chrono_util
2014-01-21 10:28:35 -05:00
Vinnie Falco
ef7810bc95
Add ScopedPointer::reset
2014-01-21 10:28:34 -05: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
cac1d555be
Add std::make_unique
2014-01-17 12:19:03 -05:00