17 lines
559 B
Scheme
17 lines
559 B
Scheme
(module dispatch mzscheme
|
|
(require (lib "contract.ss"))
|
|
(require "../private/connection-manager.ss"
|
|
"../private/request-structs.ss")
|
|
|
|
(define dispatcher?
|
|
(connection? request? . -> . void))
|
|
(define (dispatcher-interface-version? v)
|
|
(and (symbol? v) (eq? v 'v1)))
|
|
(define-struct exn:dispatcher ())
|
|
(define (next-dispatcher) (raise (make-exn:dispatcher)))
|
|
|
|
(provide/contract
|
|
[dispatcher? contract?]
|
|
[dispatcher-interface-version? (any/c . -> . boolean?)]
|
|
[next-dispatcher (-> void)]
|
|
[struct exn:dispatcher ()])) |