-
With compiler warning -Wstrict-aliasing enabled, usage of the macros ev_async_timer and ev_timer_init yields said warnings. Created templates to locally turn off these warnings. Compiles without warnings with gcc 4.9.2 and clang 3.5.
-
* Use lock_guard instead of unique_lock when possible * Make a few types non-atomic since they are already guarded by a mutex * Create setVariable helpers that lock and notify
-
…ill make debugging easier if the error condition does occur.
-
Very similar to the fixes for Command and Subscriber, adds locking around booleans used as flags for condition variables.
-
In case of a connection failure (i.e. specify incorrect port number), the main thread would be blocked. This is fixed by setting the condition variables correctly in case of a connection error. The test TestConnectionFailure will hang without this fix.
-
Add EVRUN_ONCE evloop call at the start of the event loop thread, instead of just an EVRUN_NOWAIT call. We want to block until the connection happens, or else we hang on the condition variable wait.
-
User can now enable no-wait mode, which chooses whether we use the EVRUN_NOWAIT flag in ev_run. The default is off, so that we don't use 100% CPU. Note added in tutorial to enable when performance is critical. Added to the speed test examples. Bump to 0.2.1. Remove patch number from HISTORY entry - that's what the git log is for. Make note on minor release.
-
Instructions in README, some minor changes to comments.
-
This enables full support for binary data, with no tokenization needed and all the assumptions that come with that. All of the core methods are changed to accept vector<string>& instead of string&. Ported all examples and tutorial as well.
-
Call Redox::disconnectCallback from processReply
-
This makes more sense logically, and lets the Redox object get default constructed with nothing but the optional logger parameters.
-
Separate include directory so that examples can reference the same thing whether installed in the system or from the local folder.
-
More intuitive if disconnect() blocks like connect(). Most clients will want to use these two methods. For more fine grained control, disconnect() is just a combo of stop() and wait().
-
Configure CMake to generate libredox.so and libredox_static.a, and have all examples use the dynamic library. This is how Redox should be used in practice, and greatly reduces the compilation time of the examples. Also renamed redox.[ch]pp to client.[ch]pp and created one master header redox.hpp for users to include. This header right now just includes client.hpp, command.hpp, and subscriber.hpp.