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
NATTSiM
25ff77c2fd
Fix Clang compile and link errors
2014-01-16 17:18:05 -05:00
NATTSiM
de018bd582
Improved PropertyStream find and print routines
2014-01-13 21:51:31 -08:00
Vinnie Falco
4d5df92cbc
Add io_latency_probe
2014-01-10 22:54:00 -08:00
Nik Bougalis
2a4623814c
Don't log StatsD messages to the console by default
2014-01-08 16:57:47 -08:00
Vinnie Falco
eecd305efd
Add std::hash <std::pair> specialization
2014-01-07 21:14:13 -08:00
Vinnie Falco
a83fa6b2b2
Fix warning in chrono_io
2014-01-07 21:14:07 -08:00
Vinnie Falco
2d234e500d
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
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
Vinnie Falco
528cf56f80
Reduce StatsDCollector log verbosity
2014-01-02 19:32:27 -08:00
NATTSiM
27b771e2ba
Fix clang compile
2013-12-27 17:46:51 -08:00
Vinnie Falco
8c2ec2cfbe
Add AbstractObject, cyclic_iterator, Journal improvements
2013-12-27 16:47:43 -08:00
Nik Bougalis
88a8433d31
Add reference counting to AsyncObject
2013-12-19 14:39:26 -08:00