Remove error handling from simple-utp-service, until I get a better handle on it

This commit is contained in:
Tony Garnock-Jones 2011-12-14 15:15:36 -05:00
parent b72b78119f
commit 68d2195146
1 changed files with 2 additions and 12 deletions

View File

@ -19,22 +19,11 @@
port-number ;; Uint16
packet-handler ;; UdpPacket ServerState -> ListOf<UdpPacket> ServerState
initial-state ;; ServerState
#:service-name
[service-name (format "anonymous UDP service on port ~v" port-number)]
#:packet-size-limit
[packet-size-limit 65536])
(define s (udp-open-socket #f #f)) ;; the server socket
(udp-bind! s #f port-number) ;; bind it to the port we were given
(define (service-loop state)
(service-loop
(with-handlers ((exn:break? (lambda (e) (raise e)))
(exn? (lambda (e)
(printf "Error in ~a:~n~v~n~n" service-name e)
(flush-output)
state)))
(read-and-process-request state))))
(define (read-and-process-request old-state)
(define buffer (make-bytes packet-size-limit))
(define-values (packet-length source-hostname source-port)
@ -53,4 +42,5 @@
reply-packets)
new-state)
(service-loop initial-state))
(let service-loop ((state initial-state))
(service-loop (read-and-process-request state))))