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
RedisConnectionin some areas for new logic of internalConnectionState - Change behavior of logging in a few places
- The initializer for
RedisConnectionis now internal - How users can override the default
ClientBootstrapfor a connection is by passing an instance to the.connectstatic method - Change unit tests to inherit from a common XCTestCase class that handles creation and cleanup of
RedisConnectionin 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