mirror of
https://github.com/sbrow/zomq.git
synced 2026-08-26 10:53:32 -04:00
docs: Added polling_echo example.
This commit is contained in:
+74
-3
@@ -5,9 +5,80 @@ package zmq
|
||||
import "core:testing"
|
||||
|
||||
@(test)
|
||||
test_error_type :: proc(t: ^testing.T) {
|
||||
e: Error = .EFSM
|
||||
test_version :: proc(t: ^testing.T) {
|
||||
ma, mi, pa := version()
|
||||
|
||||
testing.expect_value(t, size_of(e), 8)
|
||||
testing.expect_value(t, ma, 4)
|
||||
testing.expect_value(t, mi, 3)
|
||||
testing.expect_value(t, pa, 5)
|
||||
}
|
||||
|
||||
@(test)
|
||||
test_simple_const_echo :: proc(t: ^testing.T) {
|
||||
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")
|
||||
}
|
||||
|
||||
msg :: "Hello, World"
|
||||
buf: [len(msg)]u8
|
||||
|
||||
_, err = send_const(cli, msg)
|
||||
testing.expect_value(t, err, nil)
|
||||
if err != nil {
|
||||
testing.fail_now(t, "Can't send message")
|
||||
}
|
||||
|
||||
{
|
||||
n := 0
|
||||
n, err = recv(srv, buf[:])
|
||||
testing.expect_value(t, n, len(msg))
|
||||
testing.expect_value(t, err, nil)
|
||||
if err != nil || n != len(msg) {
|
||||
testing.fail_now(t, "Can't receive message")
|
||||
}
|
||||
|
||||
testing.expect_value(t, string(buf[:n]), string(msg))
|
||||
|
||||
_, err := send(srv, buf[:n])
|
||||
testing.expect_value(t, err, nil)
|
||||
if err != nil {
|
||||
testing.fail_now(t, "Can't send message")
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
m := 0
|
||||
m, err = recv(cli, buf[:])
|
||||
testing.expect_value(t, m, len(msg))
|
||||
testing.expect_value(t, err, nil)
|
||||
if err != nil || m != len(msg) {
|
||||
testing.fail_now(t, "Can't receive message")
|
||||
}
|
||||
|
||||
testing.expect_value(t, string(buf[:m]), string(msg))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user