Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Follow-up to #1669 - per-channel dispatch concurrency #1671

Merged
merged 2 commits into from
Sep 12, 2024

Conversation

lukebakken
Copy link
Contributor

@lukebakken lukebakken commented Sep 11, 2024

Follows-up to #1669 to restore some of the behavior introduced, and add tests.

cc @danielmarbach

@lukebakken lukebakken added this to the 7.0.0 milestone Sep 11, 2024
@lukebakken lukebakken self-assigned this Sep 11, 2024
@lukebakken lukebakken marked this pull request as draft September 11, 2024 23:53
@lukebakken lukebakken marked this pull request as draft September 11, 2024 23:53
@lukebakken lukebakken force-pushed the rabbitmq-dotnet-client-1669-followup branch 4 times, most recently from 143f697 to 8cd950f Compare September 12, 2024 13:51
PR #1669 by @danielmarbach adds the ability to configure consumer
dispatch on a per-channel basis.

* Test that consumer dispatch concurrency is set on the dispatcher.
@lukebakken lukebakken force-pushed the rabbitmq-dotnet-client-1669-followup branch from 8cd950f to 7770fd8 Compare September 12, 2024 13:57
@lukebakken lukebakken marked this pull request as ready for review September 12, 2024 14:14
@danielmarbach
Copy link
Collaborator

Isn't this approach way more complex compared to having the concurrency nullable like in my own original proposal?

@lukebakken
Copy link
Contributor Author

Yes it is. I can't explain it, but I don't like that nullable value 😆 I can restore that behavior.

@danielmarbach
Copy link
Collaborator

Does it mean I get cake now? 🤣😂

@paulomorgado
Copy link
Contributor

Yes it is. I can't explain it, but I don't like that nullable value 😆 I can restore that behavior.

What don't you like about it?

@lukebakken
Copy link
Contributor Author

@danielmarbach thanks for your patience with me.

@paulomorgado I'm still getting used to seeing ? in C# code. As I'm sure everyone who watches the progression of the version 7 release has guessed, I have not been a C#/.NET-focused developer since 2013 😬. This release has brought me much more "in the loop" with regard to this language.

@lukebakken lukebakken merged commit 735bbca into main Sep 12, 2024
10 of 11 checks passed
@lukebakken lukebakken deleted the rabbitmq-dotnet-client-1669-followup branch September 12, 2024 18:10
@danielmarbach
Copy link
Collaborator

@lukebakken absolutely no problem. I appreciate your time. The only thing I'll ask for is the same patience should I ever submit erlang stuff 😅

@paulomorgado
Copy link
Contributor

@lukebakken,

@paulomorgado I'm still getting used to seeing ? in C# code. As I'm sure everyone who watches the progression of the version 7 release has guessed, I have not been a C#/.NET-focused developer since 2013 😬. This release has brought me much more "in the loop" with regard to this language.

First you find it strange, then you find it stranger. 😄

For nullable reference types, the compiler does flow analysis. You still need to validate user input, but for internal code, you can just add Debugger.Assert calls to assert everything is OK and you can rely on the compiler telling you if it may be null or not.

For nullable value types, when performance is involved, especially regarding type sizes, it's usually a bad idea to store them. But for API contracts, they are great. And if you use pattern matching when validating and using them, performance is great.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants