feat: Removed allocations from bind and connect.

This commit is contained in:
2026-07-08 16:45:57 -04:00
parent 3c82aee01b
commit fb6581345e
2 changed files with 37 additions and 6 deletions
+33
View File
@@ -2,6 +2,7 @@
package zmq
import "base:runtime"
import "core:testing"
@(test)
@@ -13,6 +14,38 @@ test_version :: proc(t: ^testing.T) {
testing.expect_value(t, pa, 5)
}
@(test)
test_connect_does_not_allocate_with_string_literals :: proc(t: ^testing.T) {
context.temp_allocator = runtime.panic_allocator()
ctx := ctx_new()
defer ctx_term(ctx)
srv, serr := socket(ctx, .REP)
testing.expect_value(t, serr, nil)
if serr != nil {
testing.fail_now(t, "Can't create server socket")
}
defer close(srv)
if err := bind(srv, "inproc://echo"); err != nil {
testing.expect_value(t, err, nil)
testing.fail_now(t, "Can't bind server socket")
}
cli, cerr := socket(ctx, .REQ)
testing.expect_value(t, cerr, nil)
if cerr != nil {
testing.fail_now(t, "Can't create client socket")
}
defer close(cli)
err := connect(cli, "inproc://echo")
testing.expect_value(t, err, nil)
if err != nil {
testing.fail_now(t, "Can't connect client to server")
}
}
@(test)
test_simple_const_echo :: proc(t: ^testing.T) {
ctx := ctx_new()