Skip to content

DispatchConsumerConcurrency might be misplaced on the connection factory #1668

@danielmarbach

Description

@danielmarbach

Is your feature request related to a problem? Please describe.

Can also be considered v7 feedback.

Generally, we have one connection factory per endpoint. For every receive pump we create a channel from that connection. Every pump might have its own concurrency control associated with it, and ideally we would like to offload the concurrency control to the client.

Unfortunately, as of today, you can only set the DispatchConsumerConcurrency on the connection factory. The setting then gets copied into the ConnectionConfig which is passed to the ChannelBase.

That relationship seems a little awkward because ideally, you would want to control the dispatcher concurrency per channel. Given that we recently renamed the model creation methods, I think it would make sense to move the dispatcher concurrency to the CreateChannel method instead of having it on the connection factory.

With today's approach, we have to do an ugly workaround like locking the connection factory, override the dispatcher concurrency, create a model and unlock the connection factory.

Describe the solution you'd like

See above

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions