mirror of
https://github.com/apache/httpd.git
synced 2026-01-06 09:01:14 +03:00
in lua. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@941734 13f79535-47bb-0310-9956-ffa450edef68
78 lines
2.9 KiB
Org Mode
78 lines
2.9 KiB
Org Mode
-*- mode:org -*-
|
|
* Requirements:
|
|
** lua 5.1 ( http://www.lua.org/ )
|
|
** Apache HTTPD 2.2 ( http://httpd.apache.org/ ) or Apache HTTPD 2.3
|
|
|
|
* Documentation
|
|
See docs/README
|
|
|
|
* Building
|
|
For now, see docs/building-from-subversion.txt
|
|
|
|
* To Consider
|
|
Allow definition of lua_State instances associated with arbitrary
|
|
pool using the pool's user_data constuct. There would, here, be two
|
|
types, pooled and singleton. On the other hand, singleton would work
|
|
fine for almost all cases -- the exception being a process or server
|
|
pool, and then we could stay singleton anyway and lock around it.
|
|
|
|
The current "server scope" behavior could, instead, fall into
|
|
connection scope, for long-lived connections, really we want thread
|
|
scope (which Brian Akins knows how to do). Is there a pool
|
|
associated with a thread? Contention on the pool is a pain in a
|
|
highly concurrent environment.
|
|
|
|
Could use apr_thread_data_(get|set) if I can find a way to hook into
|
|
thread destruction. Looks like apr threads let you use the standard
|
|
APR_POOL_DECLARE_ACCESSOR(thread); defined method, just need to look
|
|
up what form that takes. -- apr_thread_pool_get -- just attach to
|
|
that pool.
|
|
|
|
Given that, we can associate a hash of lua_State instances with
|
|
arbitrary pools, such as the request pool, thread pool, server pool,
|
|
etc. We then use the file as key into the hash. Users, able to
|
|
specify the handler function, can then make use of the same file
|
|
with different handlers to reuse states.
|
|
|
|
|
|
|
|
* Task List
|
|
** TODO Use r->file to determine file, doing rewriting in translate_name
|
|
** TODO Change to controlling lifecycle by passing in a pool?
|
|
Need to determine how to handle server scoped then!
|
|
** TODO Provide means to get useful output from lua errors in response body
|
|
Probably have to put it on the vm spec for pre-handler errors, as
|
|
it is pre-handler, will prolly be on the request_config somewhere,
|
|
but sometimes cannot put there, so... fun
|
|
** TODO Filters
|
|
** TODO Mapping in the server_rec
|
|
** TODO Connection scoped vms
|
|
** TODO Figure out how reentrancy works regarding filter chain stuff.
|
|
Do we need new "threads"?
|
|
** TODO Flesh out apw_*getvm for each flavor we allow
|
|
** TODO Rework apw_sgetvm to use the create_vm stuff like apw_rgetvm
|
|
** TODO apw_rgetvm needs to handle connection scoped vms
|
|
** TODO options in server scoped vms (ie, min and max vm counts)
|
|
** TODO provide means to implement authn and authz providers
|
|
|
|
* License
|
|
Apache License, Version 2.0,
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
See NOTICE file for more information
|
|
|
|
* Problems and Patches:
|
|
Please use dev@httpd.apache.org for discussing mod_lua development
|
|
To subscribe send email to dev-subscribe@httpd.apache.org
|
|
Note that this is for development discussion, not user support :-)
|
|
|
|
* Contributors Include
|
|
** Brian McCallister
|
|
** Paul Querna
|
|
** Garrett Rooney
|
|
** Martin Traverso
|
|
** Brian Akins
|
|
** Justin Erenkrantz
|
|
** Philip M. Gollucci
|