- improvements and fixes on reflection
- use std::variant in example_threadpool
- TypeToType -> std::type_identity
- mprpc: add support for ConnectionContext::pauseRead and Connection::Context::resumeRead
- aio: stream fix not call doTrySend or doTryRecv after disconnect
- mprpc: do not reset timer on onSend with error if connection already stopping
- mprpc: add support for ConnectionContext::stop() for stopping the connection
- Coverity fixes
- utility: support pthread_spin_lock when available
- utility: ThreadPool improvements and fixes
- frame: Reactor and aio::Reactor using the same new technique from ThreadPool for event passing
- mprpc: preparing the stage for relay multicast support
- mprpc: Split Connection in ClientConnection, ServerConnection, RelayConnection
- mprpc: Some cleanup and some small improvements on the MessageReader and MessageWriter
- utility: Improve SharedBuffer with local caching
- mprpc: switch to using SharedBuffer
- frame: Some improvements to Reactor and aio::Reactor
- utility: Introducing IntrusivePtr with support for collapse
- mprpc: Defaulting to InstrusivePtr for solid::frame::mprpc::Message. Use SOLID_MPRPC_USE_SHARED_PTR_MESSAGE build option to switch to std::shared_ptr.
- (DONE) New Pimpl implementation which avoids the extra memory allocation similarly to solid::Any<>
- (DONE) Optimize mprpc::MessageHeader - separate the relay part. Breakes backward compatibility on protocol.
- (DONE) Introducing solid::Cacheable - used for implementing local thread caches of e.g. mprpc::Message in order to avoid message allocations.
- (DONE) Use for reactor event notification system the same technique used by ThreadPool
- (DONE) Fix and improve how ThreadPool handles the All Tasks.
- (DONE) Improved Event
- integrated 'Any' support
- template on small size
- copy/move via EventBase
- (DONE) frame::Reactor and frame::aio::Reactor, template on Event type.
- (DONE) other fixes and improvements
- (DONE) WorkPool to ThreadPool
- (DONE) rename mpipc library to mprpc
- (DONE) remove boost dependency
- (DONE) Object -> Actor
- (DONE) Overal fixes
- (DONE) Refactored solid::ThreadPool<>. solid::CallPool<>
- (DONE) add support for endianess on seralization/v2
- (DONE) clang tidy support
- (DONE) fix compilation on g++ 8.1.1
- (DONE) system/debug.hpp -> system/log.hpp - redesign debug logging engine. No locking while handling log line parameters.
- (DONE) utility/ThreadPool.hpp -> improved locking for a better performance on macOS
- (DONE) mpipc: call connection pool close callback after calling connection close callback for every connection in the pool
- (DONE) mpipc: improve connection pool with support for events like ConnectionActivated, PoolDisconnect, ConnectionStop
- (DONE) port to Windows
- (DONE) SolidFrame.podspec
- (DONE) solid_frame_mpipc: messagereader - cache deserializer
- (DONE) solid_frame_mpipc: messagewriter - cache serializer
- (DONE) solid_serialization_v2 - improved binary serialization engine
- (DONE) solid_frame_mpipc: improve protocol to allow transparent (i.e. not knowing the type of the mesage) message handling - e.g. skipping, relaying.
- (DONE) solid_frame_mpipc: support for generic message relaying: solid::frame::mpipc::relay::Engine.
- (DONE) tutorials: mpipc_echo_relay
- (DONE) solid_system: improve SOLID_CHECK and SOLID_THROW
- (DONE) solid_system: pimpl.h with make_pimpl support
- (DONE) solid_utility: fix and improve solid::inner::List
- (DONE) solid_utility: delegate.h
- (DONE) integrate Travis support
- (DONE) integrate clangformat support
- (DONE) all: switch from NanoTime to std::chrono
- (DONE) BUILD: cmake support for clangformat
- (DONE) solid_serialization: speed improvements, plain arrays serialization
- (DONE) solid_frame_aio_openssl: Improved OpenSSL/BoringSSL support
- (DONE) solid_frame_mpipc: Pluggable (header only) support for SSL
- (DONE) BUILD: Android support - https://github.com/vipalade/bubbles
- (DONE) solid_serialization: Support for std::bitset, std::vector and std::set
- (DONE) solid_serialization: Test suported stl containers.
- (DONE) BUILD: Support for CMake extern command for find_package(SolidFrame)
- (DONE) solid_frame_mpipc: Basic, pluggable compression support using Snappy
- (DONE) TUTORIAL: mpipc_request_ssl
- Fix utility memoryfile examples
- pushCall instead of pushReinit
- Finalizing the MPRPC library.
- Cross-platform support:
- Linux
- FreeBSD
- Darwin/OSX (starting with XCode 8 for thread_local)
- Add "make install" support.
- Documentation.