-
Notifications
You must be signed in to change notification settings - Fork 157
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
nats.io #94
Comments
@AndyPook there's a nuget package you can use! https://github.com/davidfowl/BedrockFramework#using-ci-builds |
BTW this looks awesome and is exactly the type of thing I want to see working with bedrock! |
@AndyPook I'd really appreciate it if you could provide more feedback for any methods you'd like added to |
This kind of framework makes me happy. It's relatively easy/quick to "hide" all the nitty-gritty of networky stuff and actually level up to the thing you're actually trying to solve. "feedback":
For writing we always use something like NatsWriter (wrapper around a IBufferWriter< byte >) they're kinda like extension methods for writing the the things-your-protocol-needs (strings, numbers, blobs, json...) It does take a certain twist-in-the-brain to grok how to do stuff at this level. Some of the constructs/mechanisms like |
Why do you think this is important? Most of these pieces of code don't bring in any dependencies so why split it up into multiple dlls?
This makes sense. Actually some of these belong in the box somewhere.
Why? That's part of the opinionated DI enabled stack.
We'll finally get here in 6.0. .NET 5.0 has the client side, and kestrel will have a server implementation. DuplexPipe should be part of Pipelines (which is in the BCL in 5.0) |
none of it is "important" :) ConnnectionBuiler... more of a question really. But sure, it's just one opinion/style of many. I'm trying to get a grip on what moving parts I need to figure out and which I can just reuse and hoping for less copy/paste. A lot of these things "appear" to be very similar, just different naming. I'll need to spend more me in this space to really grok why some of these things can't be public/resusable. I'll try to pay more attention to 5.0 see what I can get to "click" |
Another client library for https://nats.io started at https://github.com/AndyPook/A6k.Nats
Nats has a super simple, mostly text based, protocol. So it's a nice example for Bedrock.
The "official" dotnet client is based on the go client. But has a lot of
lock
s and is not really idiomatic c# inside.A6k.Nats is really early stage, lots of things missing. But the basic pub/pub stuff works.
Any commentary on how it's using Bedrock, structs, ValueTask etc would be really appreciated.
One comment for @davidfowl and others close to corefx...
Even if the protocol bits of Bedrock do not make it into a Microsoft.* package... it would be really appreciated if some of the socket based bits already in there could be made public (or at least pubternal, if that's still a thing).
Having to cut/paste large chunks of stuff out to make a basic client work, just makes me feel a bit dirty 😃
The text was updated successfully, but these errors were encountered: