Revisit Architecture for building Redis Pipelines

From a discussion in the Vapor Discord, this question was raised:

I'm just not sure what the use case is for adding the RESP handlers yourself

I can't see any valid configuration that is not RESPDecoder -> RedisConnection -> RESPEncoder

So a method that does that for you, and gives you a RedisConnection seems like it makes sense

Either:

  1. Make RedisConnection.init(channel:) internal, and allow users to override the ClientBootstrap used to connect with (defaulting to .makeForRedis()) in RedisConnection.connect(...)
  2. Rename RedisConnection.init(channel:) to RedisConnection.init(configuredRedisChannel:)
Edited by Nathan Harris
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information