Commit Graph

88 Commits

Author SHA1 Message Date
f289ab7893 Rename ClientState to Client 2026-01-01 05:22:03 +00:00
4fcb9e3943 Heap allocate client buffers 2026-01-01 05:22:02 +00:00
0233bc278c Avoid queues completely
This is quite slow
2026-01-01 05:22:02 +00:00
b447883d10 Reorganized things 2026-01-01 05:22:02 +00:00
7af7a30ed2 things are running quite smoothly!!!
coder@08714a4174bb:~$ nats bench sub foo -s localhost:4223
03:28:04 Starting Core NATS subscriber benchmark [clients=1, msg-size=128 B, msgs=100,000, multi-subject=false, subject=foo]
03:28:04 [1] Starting Core NATS subscriber, expecting 100,000 messages
Finished      6s [====================================================================================] 100%

NATS Core NATS subscriber stats: 14,691 msgs/sec ~ 1.8 MiB/sec ~ 68.06us
2026-01-01 05:22:02 +00:00
a781876038 Simplified a ton of things and cleaned up ownership 2026-01-01 05:22:02 +00:00
0f138e5984 some cleanup and freeing 2026-01-01 05:22:02 +00:00
e60a566a7c Cleanup client
Break up creating and starting the client process.
I think this should simplify storing the std.Io.Queue on the stack.
Before I was storing it on the heap because it was hard to make it point to the same location if I was initializing the client on the stack.
2026-01-01 05:22:02 +00:00
1cbd030037 Rename assert to expect
Assert implies panic, expect implies error
2026-01-01 05:22:02 +00:00
1b6447a986 Fix sub parse bug
Was accidentally consuming one more byte than I was expecting when reaching the end of the second term.
This was causing the parser to work properly in the case that a queue group was specified, but failing and consuming the next message (usually a PING) as the SID.
2025-12-31 00:56:34 +00:00
d4566eba52 Reuse port
This lets me dev cycle faster
Shouldn't have to do this though, should be cleaning up properly
2025-12-31 00:55:38 +00:00
fe4c1d410b More cleanup 2025-12-29 04:56:54 +00:00
b9d0672971 Parsing cleanup 2025-12-29 04:49:25 +00:00
4bf5ddca15 publish works
starting to use errors instead of unreachable for stream parsing
2025-12-29 04:23:16 +00:00
335c4aa092 2025-12-29 00:35:06 +00:00
18f4475aaf 2025-12-28 22:22:33 +00:00
50870da1d9 made some progress on subscriptions 2025-12-10 00:11:12 -05:00
5fd580045d Add branch hint for message publish 2025-12-09 21:16:44 -05:00
45e8c4cc08 sending errors on pub sub! 2025-12-09 18:22:41 -05:00
30cc017081 The issue was the writer is not working to send pong ?? 2025-12-09 17:56:07 -05:00
1eeb55ff4d Made progress, but not perfect.
the message isn't crossing container boundaries, but it works in the
test!
2025-12-08 21:09:16 -05:00
826da348a5 2025-12-06 19:45:05 -05:00
4afdf32beb 2025-12-02 22:03:17 -05:00
aceb671ddc 2025-12-02 19:53:03 -05:00
41f4ee721b Switch from clap to yazap
This is compatible with the latest 0.16.0 nightly build.
It is also a bit less magic than clap.
2025-11-29 22:46:29 -05:00
bd9ed88e5c 2025-11-29 18:30:39 -05:00
c6dfcc541d Can handle PUB 2025-11-25 16:33:31 -05:00
474df6deed 2025-11-23 14:32:14 -05:00
dbf189adc0 2025-11-21 13:12:02 -05:00
5471cbe155 Process pub 2025-11-19 09:49:37 -05:00
938504e12e Parse connect properly 2025-11-19 08:50:18 -05:00
51008cd7e1 2025-11-19 08:44:40 -05:00
d6d177aede 2025-11-18 13:25:01 -05:00
c1c1fc51d6 Trying to pump data from nats client to stdout 2025-11-18 13:25:01 -05:00
6e8d016f2f Serve 5 clients before quitting 2025-11-18 13:25:01 -05:00
6cfaba958e Print some basic server info to stderr 2025-11-18 13:25:01 -05:00
432b06fc6a Add clap dependency
Will be used for argument parsing
2025-11-18 13:23:08 -05:00
69dfe44a96 Initial commit 2025-11-18 13:23:08 -05:00