refactor(zmq): Fixed style errors.

This commit is contained in:
2026-07-08 11:21:29 -04:00
parent 50bf65bbdc
commit 98773f433a
2 changed files with 78 additions and 62 deletions
+35 -33
View File
@@ -2,23 +2,41 @@ package main
import "core:bufio"
import "core:fmt"
import "core:log"
import "core:os"
import zmq "zmq"
import "zmq"
main :: proc() {
context.logger = log.create_console_logger(.Debug, {})
major, minor, patch := zmq.version()
fmt.printfln("zmq echo (libzmq %d.%d.%d) over inproc; type lines, Ctrl-D to quit", major, minor, patch)
log.infof(
"zmq echo (libzmq %d.%d.%d) over inproc; type lines, Ctrl-D to quit",
major,
minor,
patch,
)
ctx := zmq.new_context()
defer zmq.term(ctx)
ctx := zmq.ctx_new()
defer zmq.ctx_term(ctx)
rep := must_socket(ctx, .REP, "rep socket")
rep, serr := zmq.socket(ctx, .REP)
if serr != nil {
log.panic(zmq.strerror(serr))
}
defer zmq.close(rep)
must(zmq.bind(rep, "inproc://echo"), "bind")
if err := zmq.bind(rep, "inproc://echo"); err != nil {
log.panic(zmq.strerror(err))
}
req := must_socket(ctx, .REQ, "req socket")
req, cerr := zmq.socket(ctx, .REQ)
if cerr != nil {
log.panic(zmq.strerror(cerr))
}
defer zmq.close(req)
must(zmq.connect(req, "inproc://echo"), "connect")
if err := zmq.connect(req, "inproc://echo"); err != nil {
log.panic(zmq.strerror(err))
}
echo(req, rep)
}
@@ -28,47 +46,31 @@ echo :: proc(req, rep: zmq.Socket) {
bufio.scanner_init(&scanner, os.to_reader(os.stdin))
defer bufio.scanner_destroy(&scanner)
buf: [1024]u8
buf: [255]u8
for bufio.scan(&scanner) {
line := bufio.scanner_text(&scanner)
if len(line) == 0 {
continue
}
if _, err := zmq.send(req, transmute([]u8)line); !zmq.is_ok(err) {
fmt.eprintfln("send: %s", zmq.error_string(err))
if _, err := zmq.send(req, transmute([]u8)line); err != nil {
fmt.eprintfln("send: %s", zmq.strerror(err))
return
}
n, rerr := zmq.recv(rep, buf[:])
if !zmq.is_ok(rerr) {
fmt.eprintfln("rep recv: %s", zmq.error_string(rerr))
if rerr != nil {
fmt.eprintfln("rep recv: %s", zmq.strerror(rerr))
return
}
if _, werr := zmq.send(rep, buf[:n]); !zmq.is_ok(werr) {
fmt.eprintfln("rep send: %s", zmq.error_string(werr))
if _, werr := zmq.send(rep, buf[:n]); werr != nil {
fmt.eprintfln("rep send: %s", zmq.strerror(werr))
return
}
m, qerr := zmq.recv(req, buf[:])
if !zmq.is_ok(qerr) {
fmt.eprintfln("req recv: %s", zmq.error_string(qerr))
if qerr != nil {
fmt.eprintfln("req recv: %s", zmq.strerror(qerr))
return
}
fmt.println(string(buf[:m]))
}
}
must :: proc(err: zmq.Error, at: string) {
if !zmq.is_ok(err) {
fatal(at, err)
}
}
must_socket :: proc(ctx: zmq.Context, type: zmq.Socket_Type, at: string) -> zmq.Socket {
s, err := zmq.socket(ctx, type)
must(err, at)
return s
}
fatal :: proc(at: string, err: zmq.Error) {
fmt.eprintfln("%s: %s", at, zmq.error_string(err))
os.exit(1)
}