1. 13 Jul, 2019 1 commit
    • Nathan Harris's avatar
      Make `RedisConnection.sendCommandsImmediately` public · fae8eada
      Nathan Harris authored
      Motivation:
      
      During the refactor work (commit ea7c755d) that was merged with MRs !71 and !53 - `sendCommandsImmediately` was accidentally lowered to `internal`
      
      Modifications:
      
      Properly mark `RedisConnection.sendCommandsImmediately` as `public`
      
      Result:
      
      Developers should now have proper access to the `sendCommandsImmediately` property
      fae8eada
  2. 09 Jul, 2019 3 commits
    • Nathan Harris's avatar
      Rename `RedisCommand` properties to avoid overloading terms and being more specific. · 26057638
      Nathan Harris authored
      Motivation:
      
      There are several cases where "command" could refer to a command keyword, or an entire message (keyword + args). This made working with `RedisCommand` and it's documentation ambiguous.
      
      Modifications:
      
      - Rename `RedisCommand.command` to `message`
      - Rename initializer labels to `message` and `responsePromise`
      
      Result:
      
      When encountering a `RedisCommand` everyone should know that they are dealing with a message that should be sent to Redis as soon as possible.
      26057638
    • Nathan Harris's avatar
      7e7e3546
    • Nathan Harris's avatar
      Rename `RedisNIOError` to `RedisClientError` · 13432f0c
      Nathan Harris authored
      Motivation:
      
      To make it a little more generic, and to avoid turnover during renames (such as the planned rebranding in issue #61), `RedisClientError` more accurately reflects the source of the errors, as well as the responsibility of causing the bug.
      
      Modifications:
      
      - Rename `RedisNIOError` to `RedisClientError`
      - Rename `RedisError` file to `RedisErrors`
      - Add documentation of `RedisClientError`
      - Remove no longer used `.unsupportedOperation(method:message:)` value
      - Rename `.responseConversion(to:)` to `.failedRESPConversion(to:)`
      
      Result:
      
      Names of `RedisClientError` should be more descriptive, less prone to turnover, and more documented for users to understand the issues related to these thrown errors.
      13432f0c
  3. 05 Jul, 2019 1 commit
    • Nathan Harris's avatar
      Refactor `RedisConnection` · ea7c755d
      Nathan Harris authored
      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, #54, and #57.
      ea7c755d