ADDED nng-trial/nng-test.scm Index: nng-trial/nng-test.scm ================================================================== --- /dev/null +++ nng-trial/nng-test.scm @@ -0,0 +1,71 @@ +(import (chicken io) + (chicken string) + miscmacros + nng + srfi-18 + test) + + +(define address-tcp-1 "tcp://localhost:5555") +(define address-tcp-2 "tcp://localhost:6666") + +(define address-tls+tcp-1 "tls+tcp://localhost:5555") + +(define address-inproc-1 "inproc://local1") +(define address-inproc-2 "inproc://local2") + +(tls-register!) + +(define cert + (if (tls-enabled?) + (with-input-from-file "cert.pem" + (lambda () + (read-string))) + #f)) + +(define key + (if (tls-enabled?) + (with-input-from-file "key.pem" + (lambda () + (read-string))) + #f)) + +;;; +;;; Req-Rep +;;; +(define (make-listening-reply-socket address) + (let ((socket (make-rep-socket))) + (socket-set! socket 'nng/recvtimeo 2000) + (nng-listen socket address) + socket)) + +(define (make-dialed-request-socket address) + (let ((socket (make-req-socket))) + (socket-set! socket 'nng/recvtimeo 2000) + (nng-dial socket address) + socket)) + +(define (req-rep-test address) + (let ((rep (make-listening-reply-socket address)) + (req (make-dialed-request-socket address))) + (nng-send req "message") + (nng-recv rep) + (nng-send rep "message") + (begin0 + (nng-recv req) + (nng-close! rep)))) + + +(test-group "nng" + + (test "tcp req-rep" + "message" + (req-rep-test address-tcp-1)) + + (test "inproc req-rep" + "message" + (req-rep-test address-inproc-1)) + + ) + +(test-exit)