Skip to content

Refactor `RedisConnection`

Nathan Harris requested to merge connection-refactor into 47-proposal-feedback

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 internal ConnectionState
  • 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

Merge request reports