feature servlet-data added
This commit is contained in:
parent
f9f854ef85
commit
30aca350b9
|
@ -72,6 +72,8 @@
|
|||
(export send/suspend ;send and suspend
|
||||
send/finish ;send and finish
|
||||
send ;just send (no finish, no suspend)
|
||||
set-servlet-data!
|
||||
get-servlet-data
|
||||
))
|
||||
|
||||
(define-interface servlet-handler/admin-interface
|
||||
|
@ -162,7 +164,10 @@
|
|||
|
||||
make-address
|
||||
returned-via?
|
||||
make-callback))
|
||||
make-callback
|
||||
|
||||
set-servlet-data!
|
||||
get-servlet-data))
|
||||
|
||||
(define-structure servlets servlets-interface
|
||||
(open servlet-handler/servlet
|
||||
|
@ -172,6 +177,7 @@
|
|||
parse-html-forms
|
||||
sxml-to-html ; SXML->HTML
|
||||
srfi-1 ; FILTER
|
||||
(subset srfi-13 (string-index))
|
||||
sxml-tree-trans
|
||||
url
|
||||
httpd-request
|
||||
|
|
|
@ -8,13 +8,15 @@
|
|||
(define-record-type instance :instance
|
||||
(make-instance servlet-name memo
|
||||
continuation-table continuation-table-lock
|
||||
continuation-counter)
|
||||
continuation-counter
|
||||
servlet-data)
|
||||
instance?
|
||||
(servlet-name instance-servlet-name)
|
||||
(memo instance-memo set-instance-memo!)
|
||||
(continuation-table instance-continuation-table)
|
||||
(continuation-table-lock instance-continuation-table-lock)
|
||||
(continuation-counter instance-continuation-counter))
|
||||
(continuation-counter instance-continuation-counter)
|
||||
(servlet-data instance-servlet-data set-instance-servlet-data!))
|
||||
|
||||
(define-record memo
|
||||
(message 'kill) ;kill, killed, adjust-timeout
|
||||
|
@ -350,7 +352,20 @@
|
|||
(table-set! continuation-table continuation-id #f))
|
||||
(release-lock continuation-table-lock)))))
|
||||
|
||||
(define (set-servlet-data! new-data)
|
||||
(let ((instance (instance-lookup (session-instance-id))))
|
||||
(if instance
|
||||
(begin
|
||||
(set-instance-servlet-data! instance new-data)
|
||||
#t)
|
||||
#f)))
|
||||
|
||||
(define (get-servlet-data)
|
||||
(let ((instance (instance-lookup (session-instance-id))))
|
||||
(if instance
|
||||
(instance-servlet-data instance)
|
||||
(error "Instance no longer alive."))))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ID generation
|
||||
;; locking must be done by caller
|
||||
|
|
Loading…
Reference in New Issue