Difference between revisions of "What's new in 4.5"

From AOLserver Wiki
Jump to navigation Jump to search
m
Line 3: Line 3:
 
* Stack checking has returned.  In a multi-threaded application like AOLserver, stack checking is important for detecting buffer overruns and deep call trees blowing your thread stack, etc.
 
* Stack checking has returned.  In a multi-threaded application like AOLserver, stack checking is important for detecting buffer overruns and deep call trees blowing your thread stack, etc.
 
* More detailed information when logging uncaught Tcl errors.  Especially for connection threads, details of the HTTP request are logged to make diagnosing the root cause of errors easier.
 
* More detailed information when logging uncaught Tcl errors.  Especially for connection threads, details of the HTTP request are logged to make diagnosing the root cause of errors easier.
 +
 +
=== Connection Management ===
 +
 
* New '''ns_pools''' command to map method/URL's to specific thread pools.
 
* New '''ns_pools''' command to map method/URL's to specific thread pools.
 
* New '''ns_limits''' command  control the number of threads executing and/or waiting for execution by method/URL.
 
* New '''ns_limits''' command  control the number of threads executing and/or waiting for execution by method/URL.
 +
 +
=== I/O Features ===
 +
 
* New '''Ns_QueueWait''' API to enable event-driven callbacks in the driver thread before dispatching to pools for processing.
 
* New '''Ns_QueueWait''' API to enable event-driven callbacks in the driver thread before dispatching to pools for processing.
 
* Added ability to manage larger file uploads by spooling to a temporary file.
 
* Added ability to manage larger file uploads by spooling to a temporary file.
 
* Added a new execution caching technique at the '''ns_adp_include''' level which allows you to save the results of execution of an included ADP and includes below that for reuse on subsequent connections up to a specified time.
 
* Added a new execution caching technique at the '''ns_adp_include''' level which allows you to save the results of execution of an included ADP and includes below that for reuse on subsequent connections up to a specified time.
 +
 +
=== ADP Improvements: ===
 +
 
* Added '''singlescript''' config option which turns ADP pages into a single script enabling syntax such as "<% foreach e $list { %> element <%= $e %> here <% } %>".
 
* Added '''singlescript''' config option which turns ADP pages into a single script enabling syntax such as "<% foreach e $list { %> element <%= $e %> here <% } %>".
 
* Added output buffer improvements via new Ns_ConnFlush.
 
* Added output buffer improvements via new Ns_ConnFlush.
Line 13: Line 22:
 
* Added gzip output compression.
 
* Added gzip output compression.
 
* Added streaming output in chunked-encoding format instead of the previous "response with no length" HTTP/1.0 method.
 
* Added streaming output in chunked-encoding format instead of the previous "response with no length" HTTP/1.0 method.
 +
 +
=== Tcl Improvements: ===
 +
 
* New '''Ns_TclRegisterTrace''' API to enable callbacks at key state transition points in a much more natural way.  The [[ns_ictl]] command has been updated to support script-level traces.
 
* New '''Ns_TclRegisterTrace''' API to enable callbacks at key state transition points in a much more natural way.  The [[ns_ictl]] command has been updated to support script-level traces.
 
* New '''Ns_Task''' API designed to replace the old Ns_SockCallback API which didn't do a very good job at managing timeouts along with I/O events.
 
* New '''Ns_Task''' API designed to replace the old Ns_SockCallback API which didn't do a very good job at managing timeouts along with I/O events.

Revision as of 02:35, 22 February 2006

This is a partial list of new features and major changes in AOLserver 4.5 (compared to 4.0). If you know of anything that is missing, please add it.

  • Stack checking has returned. In a multi-threaded application like AOLserver, stack checking is important for detecting buffer overruns and deep call trees blowing your thread stack, etc.
  • More detailed information when logging uncaught Tcl errors. Especially for connection threads, details of the HTTP request are logged to make diagnosing the root cause of errors easier.

Connection Management

  • New ns_pools command to map method/URL's to specific thread pools.
  • New ns_limits command control the number of threads executing and/or waiting for execution by method/URL.

I/O Features

  • New Ns_QueueWait API to enable event-driven callbacks in the driver thread before dispatching to pools for processing.
  • Added ability to manage larger file uploads by spooling to a temporary file.
  • Added a new execution caching technique at the ns_adp_include level which allows you to save the results of execution of an included ADP and includes below that for reuse on subsequent connections up to a specified time.

ADP Improvements:

  • Added singlescript config option which turns ADP pages into a single script enabling syntax such as "<% foreach e $list { %> element <%= $e %> here <% } %>".
  • Added output buffer improvements via new Ns_ConnFlush.
  • Added automatic UTF-8 to output charset encoding.
  • Added gzip output compression.
  • Added streaming output in chunked-encoding format instead of the previous "response with no length" HTTP/1.0 method.

Tcl Improvements:

  • New Ns_TclRegisterTrace API to enable callbacks at key state transition points in a much more natural way. The ns_ictl command has been updated to support script-level traces.
  • New Ns_Task API designed to replace the old Ns_SockCallback API which didn't do a very good job at managing timeouts along with I/O events.