44 lines
1.3 KiB
Racket
44 lines
1.3 KiB
Racket
#lang racket/base
|
|
(require racket/contract)
|
|
(require "manager.rkt")
|
|
(require web-server/servlet/servlet-structs
|
|
web-server/http)
|
|
(provide/contract
|
|
[create-none-manager
|
|
(->
|
|
(or/c false/c
|
|
(request? . -> . can-be-response?))
|
|
manager?)])
|
|
|
|
(define-struct (none-manager manager) (instance-expiration-handler))
|
|
(define (create-none-manager
|
|
instance-expiration-handler)
|
|
|
|
(define (create-instance expire-fn)
|
|
0)
|
|
(define (adjust-timeout! instance-id secs)
|
|
(void))
|
|
|
|
(define (instance-lookup instance-id)
|
|
(raise (make-exn:fail:servlet-manager:no-instance
|
|
(format "No instance for id: ~a" instance-id)
|
|
(current-continuation-marks)
|
|
instance-expiration-handler)))
|
|
|
|
(define (clear-continuations! instance-id)
|
|
(instance-lookup instance-id))
|
|
|
|
(define (continuation-store! instance-id k expiration-handler)
|
|
(instance-lookup instance-id))
|
|
(define (continuation-lookup instance-id a-k-id a-salt)
|
|
(instance-lookup instance-id))
|
|
|
|
(make-none-manager create-instance
|
|
adjust-timeout!
|
|
clear-continuations!
|
|
continuation-store!
|
|
continuation-lookup
|
|
continuation-lookup
|
|
; Specific
|
|
instance-expiration-handler))
|