Skip to content

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

@rfmerrill

Description

@rfmerrill

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions