Skip to content
This repository has been archived by the owner on Apr 6, 2019. It is now read-only.

Remove boost asio dependency #8

Merged
merged 12 commits into from
Jul 22, 2016
Merged

Remove boost asio dependency #8

merged 12 commits into from
Jul 22, 2016

Conversation

Cylix
Copy link
Owner

@Cylix Cylix commented Jul 22, 2016

Goal

This pull request aims to remove the boost asio dependency for multiple reasons.

Reasons

The most important one is that I want the library to be as lightweight as possible and Boost.Asio adds a lot of stuff that is not necessary in a case as simple as a redis client (that is, a simple TCP client).

Another important thing is that Boost.Asio was introducing lots of code complexity and some strange behavior/bugs/valgrind errors (see #5 for example) which were hard to debug.

Using directly the raw socket API solves these 2 main things, and a lot more.

Client modifications after the update

A good thing concerning this update is that the public part of the API remains unchanged and should not caused any modification of the code base for people currenlty using this library and wanting to upgrade it.

Compatibility

As before, support is provided for both Mac and Linux platforms. No support is provided for now for Windows environment.

Moreover, as explained in #7, because this update uses directly the raw socket API, it is obvious that it will require a lot more work to port the library. It is currently not planned to port the library to the Windows platform.

v2.0

This pull request will constitute the 2.0 library version, that will be improved in the future (mainly concerning the performance and configuration parts).

Cylix and others added 12 commits July 7, 2016 22:43
…lient destruction. Silent potential select errors due to closed fd
…tion. Also handle concurrency issue concerning untracking in the io_service
…e implementation (while keeping the previous implementation inside a .cpp.old file. Also clean and patch possible bugs in the tcp_client implementation.
…ecursive_mutex to clean the mess in the io_service concerning mutex locks and callback handling (with possibility of reentering). Also patch a bug causing commands to be sent incorrectly at some random points
@Cylix Cylix merged commit ba48fc6 into master Jul 22, 2016
@Cylix Cylix deleted the remove_boost_asio_dependency branch July 22, 2016 19:33
@Cylix Cylix mentioned this pull request Jul 22, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant