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
JoelKatz
028935a254
Handle unexpected relative paths from __FILE__
...
Fixes comref#RIPD-133
2014-03-13 16:49:20 -07:00
Vinnie Falco
6df466c692
Update http code for http parser API changes
2014-03-06 21:44:29 -08:00
Howard Hinnant
4e3dcd1ce6
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
a690690b53
Remove unused TextDiff
2014-03-04 07:23:53 -08:00
Howard Hinnant
bb02112752
Fix clang warnings
2014-02-28 12:15:12 -08:00
Vinnie Falco
f603ae175b
Add chrono APIs to DeadlineTimer
2014-02-12 12:58:20 -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
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
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
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
Nik Bougalis
370d98a858
Add reference counting to AsyncObject
2013-12-19 14:39:26 -08:00
Vinnie Falco
42692abd1c
Add stl module for c++11 compatibility classes
2013-12-16 11:35:21 -08:00
Vinnie Falco
f7aa4f9593
Refactor some Journal::Sink members
2013-11-30 17:32:50 -08:00
Vinnie Falco
6c9d88bd6d
Fix missing assert in UnitTest runner
2013-11-30 01:42:37 -08:00
JoelKatz
760f51910f
Add BEAST_SQLITE_FORCE_NDEBUG option
2013-11-26 21:56:17 -08:00
Vinnie Falco
9e5619ce99
Fix Workers thread name
2013-11-22 15:51:20 -08:00
Vinnie Falco
b38dd98e71
Journal API improvements
2013-11-15 12:30:01 -08:00
Patrick Dehne
08aa415c66
Beast improvements and vflib compatibility module work
...
* Add CallQueue vflib compatibility class
* Use run instead of run_one
* Merge BindableServiceQueue into CallQueue
* Take BEAST_VARIADIC_MAX into account
* Fix license headers as suggested by Vinnie
* Remove obsolete comment
* Add ManualServiceQueue
* Add ManualServiceQueue to beast_vflib include
* Move static unit test variables of header only classes to module cpp
* Remove no longer used mutex member
* _VARIADIC_MAX maxes out at 10
* Correctly apply BEAST_VARIADIC_MAX
* Merge BindableServiceQueue into CallQueue
* New GuiServiceQueue and its JUCE dependency
* Fix leftover merge errors
* Fix CallQueue unit test
* Don't use bassert for better CI support
2013-11-07 09:42:37 -08:00
Vinnie Falco
56c5c2ebaa
Fix compile error
2013-11-05 03:09:39 -08:00
Vinnie Falco
4ed36da458
Fix error parameter in HTTPClient logic
2013-10-31 08:10:06 -07:00
Vinnie Falco
dc591f8943
Move MurmurHash to beast
2013-10-31 08:10:04 -07:00
Patrick Dehne
55dd5b5547
Add beast_vflib compatibility module and stand alone unit test app
2013-10-23 17:37:00 -07:00
Vinnie Falco
1f97a239dc
Measure CPU usage in Workers
2013-10-22 17:23:54 -07:00
Vinnie Falco
8604e216eb
Add IPAddressConversion and asio module
2013-10-22 11:45:30 -07:00
Vinnie Falco
f4120635e9
Rename to IPAddress and remove unused files
2013-10-22 10:43:16 -07:00
Patrick Dehne
504a892887
Wrap hiResCounterHandler in a function to prevent an order of initialization problems
2013-10-20 23:38:52 +02:00
Vinnie Falco
0e7bac945f
Fix include path
2013-10-19 15:54:02 -07:00
Patrick Dehne
ef6e381de3
Add missing Url.h include
2013-10-19 15:54:01 -07:00
Vinnie Falco
49bc04fa48
Make List<>::Node not uncopyable
2013-10-17 17:46:18 -07:00
Vinnie Falco
d5954fffa8
Add Journal to UnitTest
2013-10-17 17:46:13 -07:00
Vinnie Falco
3cf0729878
Tidy up AbstractHandler usage in HTTPClient
2013-10-05 15:38:27 -07:00
Vinnie Falco
55171f42f6
Remove obsolete source files
2013-10-05 13:08:39 -07:00
Vinnie Falco
1311ca37e5
Increase arity of SharedFunction
2013-10-05 13:08:39 -07:00
Vinnie Falco
6c7f5d093c
Move many Thread related classes
2013-10-04 14:34:01 -07:00
Vinnie Falco
ca47d72aee
Move ServiceQueue, ThreadLocalValue, SpinLock
2013-10-04 14:34:00 -07:00
Vinnie Falco
c864e4d3db
Move WaitableEvent
2013-10-04 14:33:59 -07:00
Vinnie Falco
01fd05cb4b
Add RecursiveMutex, UnlockGuard, TryLockGuard
2013-10-04 14:33:59 -07:00
Vinnie Falco
5831a53697
Remove Journal from most Stoppable overrides
2013-10-04 14:33:57 -07:00
Vinnie Falco
b60a7f3363
Add Request and Response HTTP parsers
2013-10-04 14:33:55 -07:00
Vinnie Falco
44445ff1b8
Refactor net buffers classes
2013-10-04 14:33:55 -07:00
Vinnie Falco
ac37c38133
Beast class refactor
2013-10-03 19:03:10 -07:00
Vinnie Falco
8b7056b06c
Fix eof on HTTP client get
2013-10-03 18:36:55 -07:00
Vinnie Falco
228b664ecf
Remove obsolete beast container classes
2013-10-03 18:36:53 -07:00
Vinnie Falco
1dfd655959
Use RelativeTime from startup in DeadlineTimer
2013-10-03 18:36:53 -07:00
Vinnie Falco
c67929ea39
Remove unhandled exception catcher
2013-10-01 12:25:01 -07:00