[version 0.9.0
ediware**20070419170009] {
hunk ./CHANGELOG 1
+Version 0.9.0
+2007-04-19
+Added socket timeouts for AllegroCL
+Catch IO timeout conditions for AllegroCL, SBCL and CMUCL (suggested by Red Daly and others)
+Added per-server dispatch tables (suggested by Robert Synnott and Andrei Stebakov)
+
hunk ./doc/index.html 141
-current version is 0.8.6. There's also a port
+current version is 0.9.0. There's also a port
hunk ./doc/index.html 304
+CL-WEBDAV is a WebDAV server based on Hunchentoot.
hunk ./doc/index.html 315
-
start-server &key port address mod-lisp-p use-apache-log-p input-chunking-p read-timeout write-timeout setuid setgid ssl-certificate-file ssl-privatekey-file ssl-privatekey-password => server
+
start-server &key port address dispatch-table mod-lisp-p use-apache-log-p input-chunking-p read-timeout write-timeout setuid setgid ssl-certificate-file ssl-privatekey-file ssl-privatekey-password => server
hunk ./doc/index.html 329
+dispatch-table
can either be
+a dispatch table which is to be used
+by this server or NIL
which means that at request
+time *META-DISPATCHER*
+will be called to retrieve a dispatch table.
+
hunk ./doc/index.html 356
-This parameter is ignored on OpenMCL and
-AllegroCL. write-timeout
is the write timeout (in
+This parameter is ignored on OpenMCL. write-timeout
is the write timeout (in
hunk ./doc/index.html 361
-LispWorks 5.0 or higher. You can use NIL
in both
+LispWorks 5.0 or higher and AllegroCL. You can use NIL
in both
hunk ./doc/index.html 409
+
[Accessor]
+
server-dispatch-table server => dispatch-table
+
(setf (server-dispatch-table server) new-value)
+
+
+ + hunk ./doc/index.html 478 +The return value of the initial value of
These methods can be used to get and set +the dispatch table of a Hunchentoot +server object. The value corresponds to +thedispatch-table
parameter +ofSTART-SERVER
and can be +changed at runtime. It can be set to NIL which means that the server +doesn't have its own dispatch table +and*META-DISPATCHER*
should be +called instead. +
*META-DISPATCHER*
.
+
hunk ./doc/index.html 494
-The dispatchers in *DISPATCH-TABLE*
are tried in turn
+The dispatchers in a dispatch table are tried in turn
hunk ./doc/index.html 498
-The default value of *DISPATCH-TABLE*
is a list which
+The initial value of *DISPATCH-TABLE*
is a list which
hunk ./doc/index.html 500
-href='#default-dispatcher'>DEFAULT-DISPATCHER
. See also *META-DISPATCHER*
.
+href='#default-dispatcher'>DEFAULT-DISPATCHER
.
hunk ./doc/index.html 511
-href='#*dispatch-table*'>*DISPATCH-TABLE*
+href='#*dispatch-table*'>*DISPATCH-TABLE*
.
hunk ./doc/index.html 530
-
-The value of this variable should be a function of one -argument. It is called with the current Hunchentoot server -instance and must return a dispatch table suitable for Hunchentoot. The -initial value is a function which always unconditionally returns +
The value of this variable should be a function of +one argument. It is called with the current Hunchentoot server +instance (unless the server has its +own dispatch table) and must return a dispatch table suitable for +Hunchentoot. The initial value is a function which always +unconditionally returns hunk ./doc/index.html 2421 +server-dispatch-table
hunk ./doc/index.html 2481 -$Header: /usr/local/cvsrep/hunchentoot/doc/index.html,v 1.83 2007/04/18 20:34:35 edi Exp $ +$Header: /usr/local/cvsrep/hunchentoot/doc/index.html,v 1.87 2007/04/19 09:16:03 edi Exp $ hunk ./headers.lisp 2 -;;; $Header: /usr/local/cvsrep/hunchentoot/headers.lisp,v 1.19 2007/04/09 23:15:59 edi Exp $ +;;; $Header: /usr/local/cvsrep/hunchentoot/headers.lisp,v 1.20 2007/04/19 09:10:38 edi Exp $ hunk ./headers.lisp 268 - (end-of-file () nil))))) + ((or end-of-file + #+:sbcl sb-sys:io-timeout + #+:cmu sys:io-timeout + #+:allegro excl:socket-error) () + nil))))) hunk ./hunchentoot.asd 2 -;;; $Header: /usr/local/cvsrep/hunchentoot/hunchentoot.asd,v 1.32 2007/04/18 20:34:33 edi Exp $ +;;; $Header: /usr/local/cvsrep/hunchentoot/hunchentoot.asd,v 1.34 2007/04/19 09:16:01 edi Exp $ hunk ./hunchentoot.asd 37 -(defvar *hunchentoot-version* "0.8.6" +(defvar *hunchentoot-version* "0.9.0" hunk ./packages.lisp 2 -;;; $Header: /usr/local/cvsrep/hunchentoot/packages.lisp,v 1.27 2007/04/18 20:34:33 edi Exp $ +;;; $Header: /usr/local/cvsrep/hunchentoot/packages.lisp,v 1.28 2007/04/19 09:10:38 edi Exp $ hunk ./packages.lisp 201 + :server-dispatch-table hunk ./port-acl.lisp 2 -;;; $Header: /usr/local/cvsrep/hunchentoot/port-acl.lisp,v 1.8 2007/01/01 23:50:30 edi Exp $ +;;; $Header: /usr/local/cvsrep/hunchentoot/port-acl.lisp,v 1.9 2007/04/19 09:10:39 edi Exp $ hunk ./port-acl.lisp 85 - :type :stream - :connect :passive - :local-host address - :local-port service - :reuse-address t - :backlog 5)) + :type :hiper + :format :bivalent + :connect :passive + :local-host address + :local-port service + :reuse-address t + :backlog 5)) hunk ./port-acl.lisp 108 - (declare (ignore read-timeout write-timeout)) hunk ./port-acl.lisp 110 + (socket:set-socket-options socket :nodelay t) + (socket:socket-control socket + :read-timeout read-timeout + :write-timeout write-timeout) hunk ./server.lisp 2 -;;; $Header: /usr/local/cvsrep/hunchentoot/server.lisp,v 1.33 2007/03/09 12:10:06 edi Exp $ +;;; $Header: /usr/local/cvsrep/hunchentoot/server.lisp,v 1.34 2007/04/19 09:10:39 edi Exp $ hunk ./server.lisp 43 + (dispatch-table :initarg :dispatch-table + :accessor server-dispatch-table + :documentation "The dispatch-table used by this +server. Can be NIL to denote that *META-DISPATCHER* should be called +instead.") hunk ./server.lisp 101 + dispatch-table hunk ./server.lisp 106 - (write-timeout *default-write-timeout*) + (write-timeout *default-write-timeout*) hunk ./server.lisp 122 +DISPATCH-TABLE can either be a dispatch table which is to be used by +this server or NIL which means that at request time *META-DISPATCHER* +will be called to retrieve a dispatch table. + hunk ./server.lisp 139 -On LispWorks 5.0 or higher READ-TIMEOUT and WRITE-TIMEOUT are the -read and write timeouts \(in seconds) of the server - use NIL for -no timeout at all. (See the LispWorks documentation for -STREAM:SOCKET-STREAM for details.) On LispWorks 4.4.6 or lower, -SBCL, and CMUCL WRITE-TIMEOUT is ignored. On AllegroCL and -OpenMCL both parameters are ignored. +On LispWorks 5.0 or higher and AllegroCL, READ-TIMEOUT and +WRITE-TIMEOUT are the read and write timeouts \(in seconds) of +the server - use NIL for no timeout at all. (See the LispWorks +documentation for STREAM:SOCKET-STREAM for details.) On +LispWorks 4.4.6 or lower, SBCL, and CMUCL WRITE-TIMEOUT is +ignored. On OpenMCL both parameters are ignored. hunk ./server.lisp 180 + :dispatch-table dispatch-table hunk ./server.lisp 373 - (*dispatch-table* (funcall *meta-dispatcher* *server*)) + (*dispatch-table* (or (server-dispatch-table *server*) + (funcall *meta-dispatcher* *server*))) hunk ./specials.lisp 2 -;;; $Header: /usr/local/cvsrep/hunchentoot/specials.lisp,v 1.25 2007/03/30 22:08:48 edi Exp $ +;;; $Header: /usr/local/cvsrep/hunchentoot/specials.lisp,v 1.26 2007/04/19 09:10:39 edi Exp $ hunk ./specials.lisp 253 - "A list of dispatch functions - see function PROCESS-REQUEST.") + "A list of dispatch functions - see *META-DISPATCHER*.") hunk ./specials.lisp 317 - "The value of this variable should be a function of one -argument. It is called with the current Hunchentoot server -instance and must return a suitable dispatch table. The initial -value is a function which always unconditionally returns -*DISPATCH-TABLE*.") + "The value of this variable should be a function of one argument. +It is called with the current Hunchentoot server instance \(unless the +server has its own dispatch table) and must return a suitable dispatch +table. The initial value is a function which always unconditionally +returns *DISPATCH-TABLE*.") }