Commit Graph
132 Commits
Author SHA1 Message Date
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
Vinnie Falco d11983ae32 Add Beast.Insight stats collection module 2013-12-16 12:22:25 -08:00
Vinnie Falco 42692abd1c Add stl module for c++11 compatibility classes 2013-12-16 11:35:21 -08:00
Vinnie Falco d1335a6efd Make AbstractObject unit test manual 2013-12-06 09:57:03 -08:00
Vinnie Falco 61cfa6e37e Add double conversion for PropertyStream map items 2013-11-30 17:56:25 -08:00
Vinnie Falco f7aa4f9593 Refactor some Journal::Sink members 2013-11-30 17:32:50 -08:00
Vinnie Falco 1dfd9e3c10 IPAddress fixes and algorithm comparison functors 2013-11-30 09:21:46 -08:00
Vinnie Falco 2f656e09c6 Refactor and fix some object arithmetic comparisons 2013-11-30 06:28:29 -08:00
Vinnie Falco 045e38314a Add AbstractObject 2013-11-30 01:42:37 -08:00
Vinnie Falco d346e6645a Tidy doc comments 2013-11-29 23:44:36 -08:00
JoelKatz 760f51910f Add BEAST_SQLITE_FORCE_NDEBUG option 2013-11-26 21:56:17 -08:00
Vinnie Falco b38dd98e71 Journal API improvements 2013-11-15 12:30:01 -08:00
Vinnie Falco 71db1dfa06 Fix severity check on ~ScopedStream 2013-11-15 11:29:45 -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 bf87614fa6 Fix warning 2013-11-05 03:23:15 -08:00