(define (svz:sock:local-host-order-address sock) (ntohl (car (svz:sock:local-address sock)))) (define (svz:sock:local-host-order-port sock) (ntohs (cdr (svz:sock:local-address sock)))) (define (svz:sock:remote-host-order-address sock) (ntohl (car (svz:sock:remote-address sock)))) (define (svz:sock:remote-host-order-port sock) (ntohs (cdr (svz:sock:remote-address sock)))) (define :Prop (make-object-property)) (define (%DumpSocket s) (let ((remote-address (svz:sock:remote-host-order-address s)) (remote-port (svz:sock:remote-host-order-port s)) (local-address (svz:sock:local-host-order-address s)) (local-port (svz:sock:local-host-order-port s))) (format #t "socket ~s~%" s) (format #t "- remote address ~s:~s~%" (inet-ntop AF_INET remote-address) remote-port) (format #t "- local address ~s:~s~%" (inet-ntop AF_INET local-address) local-port) (format #t "- :Prop ~s~%" (:Prop s)))) (define (bug2-handle-request sock binary size) (format #t "In bug2-handle-request~%") (format #t "BEFORE~%") (%DumpSocket sock) (if (:Prop sock) (set! (:Prop sock) (1+ (:Prop sock))) (set! (:Prop sock) 1)) (format #f "AFTER~%") (%DumpSocket sock) 1) (define-servertype! '((prefix . "bug2") (description . "test object properties") (handle-request . bug2-handle-request) (configuration . ()))) (define-server! 'bug2-server) (bind-udp-port-range! 1069 1070 'bug2-server)