Refactor `RedisConnection`
Motivation:
During proposal review, and while working within the codebase, several issues were identified with how RedisConnection
was architectured.
Modifications:
- Change implementation of
RedisConnection
in some areas for new logic of internalConnectionState
- Change behavior of logging in a few places
- The initializer for
RedisConnection
is now internal - How users can override the default
ClientBootstrap
for a connection is by passing an instance to the.connect
static method - Change unit tests to inherit from a common XCTestCase class that handles creation and cleanup of
RedisConnection
in tests - Remove Redis namespace enum
Result:
The API for RedisConnection
should be much simpler, with the implementation being less buggy.
This resolves issues #49 (closed), #54 (closed), and #57 (closed).
Edited by Nathan Harris