From: Kevin M. Rosenberg Date: Sat, 29 Aug 2015 06:15:54 +0000 (-0600) Subject: Update domain name to kpe.io X-Git-Url: http://git.kpe.io/?p=cl-modlisp.git;a=commitdiff_plain;h=HEAD Update domain name to kpe.io --- diff --git a/debian/control b/debian/control index d72505e..aa3c717 100644 --- a/debian/control +++ b/debian/control @@ -5,8 +5,8 @@ Maintainer: Kevin M. Rosenberg Build-Depends-Indep: dh-lisp Build-Depends: debhelper (>> 7.0.0) Standards-Version: 3.8.3.0 -Vcs-Git: git://git.b9.com/cl-modlisp.git -Vcs-Browser: http://git.b9.com/?p=cl-modlisp.git +Vcs-Git: git://git.kpe.io/cl-modlisp.git +Vcs-Browser: http://git.kpe.io/?p=cl-modlisp.git Package: cl-modlisp Architecture: all diff --git a/debian/copyright b/debian/copyright index 546559b..85b85ce 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,7 +1,7 @@ Debian Copyright Section ======================== -Upstream Source URL: http://files.b9.com/cl-modlisp/ +Upstream Source URL: http://files.kpe.io/cl-modlisp/ Upstream Author: Kevin Rosenberg Debian Maintainer: Kevin M. Rosenberg diff --git a/debian/upload.sh b/debian/upload.sh old mode 100755 new mode 100644 index 38f9dee..f02d7aa --- a/debian/upload.sh +++ b/debian/upload.sh @@ -1,3 +1,3 @@ #!/bin/bash -e -dup cl-modlisp -Ufiles.b9.com -D/home/ftp/cl-modlisp -C"(umask 022; cd /opt/apache/htdocs/modlisp; make install)" -su $* +dup cl-modlisp -Ufiles.kpe.io -D/home/ftp/cl-modlisp -C"(umask 022; cd /opt/apache/htdocs/modlisp; make install)" -su $* diff --git a/debian/watch b/debian/watch index edbe0cb..51ab6b1 100644 --- a/debian/watch +++ b/debian/watch @@ -1,3 +1,3 @@ version=3 -http://files.b9.com/cl-modlisp/cl-modlisp-([\d\.]*)\.tar\.gz +http://files.kpe.io/cl-modlisp/cl-modlisp-([\d\.]*)\.tar\.gz diff --git a/doc/readme.html b/doc/readme.html index b8fce72..d2f4a79 100644 --- a/doc/readme.html +++ b/doc/readme.html @@ -1,6 +1,6 @@ -cl-modlisp readme

cl-modlisp Documentation

Overview

cl-modlisp provides the Lisp side of the interface to Marc Battyani's mod_lisp apache module (http://www.fractalconcept.com).

Features

  • support for AllegroCL, CMUCL, SBCL with sb-thread, and Lispworks.
  • listener and worker socket/process management so that shutting down the listener closes all related open sockets and terminates all related proceses.
  • support for running multiple command processors on multiple ports.
  • transparent support for precomputing the HTML or XML response to take advantage of HTTP/1.1's Keep-Alive feature. This is switchable with a single keyword argument to the macro with-ml-page.
  • Optional timeout of worker processes
  • Two process models for flexibility
  • Demonstration processor included

Prerequisites

Supported Platforms

  • Allegro v6.2
  • CMUCL 18e
  • Lispworks v4.2
  • SBCL 0.8.1 with sb-thread (multi-threading)

Quickstart

  • The easiest way to install is to use the Debian GNU/Linux operating system. Using the testing or unstable distributions, you can give the command:
    apt-get install libapache-mod-lisp cl-modlisp cl-kmrcl
    If you are not using Debian, you will need to download and install +cl-modlisp readme

    cl-modlisp Documentation

    Overview

    cl-modlisp provides the Lisp side of the interface to Marc Battyani's mod_lisp apache module (http://www.fractalconcept.com).

    Features

    • support for AllegroCL, CMUCL, SBCL with sb-thread, and Lispworks.
    • listener and worker socket/process management so that shutting down the listener closes all related open sockets and terminates all related proceses.
    • support for running multiple command processors on multiple ports.
    • transparent support for precomputing the HTML or XML response to take advantage of HTTP/1.1's Keep-Alive feature. This is switchable with a single keyword argument to the macro with-ml-page.
    • Optional timeout of worker processes
    • Two process models for flexibility
    • Demonstration processor included

    Prerequisites

    Supported Platforms

    • Allegro v6.2
    • CMUCL 18e
    • Lispworks v4.2
    • SBCL 0.8.1 with sb-thread (multi-threading)

    Quickstart

    • The easiest way to install is to use the Debian GNU/Linux operating system. Using the testing or unstable distributions, you can give the command:
      apt-get install libapache-mod-lisp cl-modlisp cl-kmrcl
      If you are not using Debian, you will need to download and install mod_lisp, cl-modlisp, and cl-kmrcl manually.
    • Add something like the below to httpd.conf and then restart apache
      LispServer 127.0.0.1 20123 "localhost"
      AddHandler lisp-handler .lsp
    • Start your Lisp implementation and load cl-modlisp with
      (asdf:operate 'asdf:load-op 'modlisp)
    • Start the server with
      (ml:modlisp-start :port 20123)
    • Try some demostration pages
      links http://localhost/fixed.lsp
      links http://localhost/debug.lsp
    • Shutdown the all cl-modlisp servers with
      (ml:modlisp-stop-all)

    Process Models

    There are two process models

    • Each connection spawns a new thread
      This is the default model. Each new connection to listener socket spawns a new connection. This allows for an arbitrary number of concurrent connections. This has advantages if the workers require a long execution time.
    • Fixed pool of workers
      This model is selected by passing the number of worker processes to init/listener with the keyword number-fixed-workers. This model has a lower overhead since new processes are not created and destroyed with each connection. It has advantages when the workers have a short execution time.

    Usage

    The demo.lisp file for examples of using cl-modlisp.

    • Overview
      cl-modlisp is a multi-threaded handler for HTTP requests forwarded by Marc Battyani's (http://www.fractalconcept.com) mod_lisp Apache module.
    • Design Goals
      cl-modlisp is designed as a thin layer to dispatch a mod_lisp request with multi-platform compatibility. Currently, cl-modlisp supports SBCL [multithreaded], CMUCL, AllegroCL, and Lispworks.
    • Dispatch model
      Extremely simple: All requests are forwarded to a single processor that is passed as a parameter to cl-modlisp's start-up function.
    • Configuration
      All configuration is set by passing keyword arguments to modlisp-start
      • port number - a number
      • processor - function designator which will receive all requests
      • processor-args - list of extra arguments to be passed to processor
      • timeout - NIL means never timeout otherwise number of seconds
      • catch-errors - non-NIL means to catch errors
      • number-fixed-workers - NIL means to spawn a new worker process for each request
      • remote-host-checker - optional function designator to check the remote host IP address. Used for filtering requests.
    • Processor function
      This function receives an argument of the 'command' alist and any other arguments passed to modlisp-start as the :processor-args. The @@ -24,4 +24,4 @@ compatibility with the cl-modlisp connector version maintaining such compatibility with paserve. The disadvantage of this library is that I dislike cloning AllegroServe's query and cookie processing. I do so, though, because I think their API is quite reasonable. This library -is currently driving http://umlisp.b9.com/

    \ No newline at end of file +is currently driving http://umlisp.kpe.io/

    \ No newline at end of file diff --git a/doc/readme.lml b/doc/readme.lml index fcb4b39..d09541c 100644 --- a/doc/readme.lml +++ b/doc/readme.lml @@ -38,8 +38,8 @@ "http://www.fractalconcept.com") ").") (:li "kmrcl library (" - ((:a :href "http://files.b9.com/kmrcl") - "http://files.b9.com/kmrcl") + ((:a :href "http://files.kpe.io/kmrcl") + "http://files.kpe.io/kmrcl") ").") (:li "asdf (" ((:a :href "http://www.sf.net/projects/cclan") @@ -157,7 +157,7 @@ compatibility with the cl-modlisp connector version maintaining such compatibility with paserve. The disadvantage of this library is that I dislike cloning AllegroServe's query and cookie processing. I do so, though, because I think their API is quite reasonable. This library -is currently driving http://umlisp.b9.com/") +is currently driving http://umlisp.kpe.io/") )))))