redis icon indicating copy to clipboard operation
redis copied to clipboard

The correct parameter type to `set_receive_response` is neither documented nor enforced.

Open rfmerrill opened this issue 2 months ago • 2 comments

currently connection::set_receive_response can't fail, and it will accept a reference to any Response object.

If that Response object can't accommodate what we get from the server, it cancels the channel and async_receive returns cancelled. This took me a couple hours to figure out in a coworker's code just now.

I'm having a hard time using either the Redis documentation or the Boost.Redis documentation figuring out if it is ever ok to use a fixed response type here and if so what that fixed response type should be.

If a fixed response is not allowed, this should at least be documented in the set_receive_response page in the reference, and ideally the method should be made to only accept a reference to a generic response object.

If a fixed response is allowed, the type(s) of fixed response(s) you can use should be documented somewhere and/or shown in example code. And, if possible, the method should be made to only accept valid ones (although this seems likely tricky).

rfmerrill avatar Nov 07 '25 22:11 rfmerrill