Remove error handling from simple-utp-service, until I get a better handle on it
This commit is contained in:
parent
b72b78119f
commit
68d2195146
|
@ -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))))
|
||||
|
|
Loading…
Reference in New Issue