Difference between revisions of "Apache Portable Runtime"

From Second Life Wiki
Jump to navigation Jump to search
(Add link to the 90 kb chart I'm creating)
(Add quotation from Wikipedia article about the APR)
 
Line 4: Line 4:
The source and further documentation is available at http://apr.apache.org/
The source and further documentation is available at http://apr.apache.org/


=== Comparison of APR and other file storage methods ===
=== What is the APR? ===
 
As described in the [[http://en.wikipedia.org/wiki/Apache_Portable_Runtime Wikipedia article]] about the APR:
 
''The Apache Portable Runtime (APR) is a supporting library for the Apache web server. It provides a set of APIs that map to the underlying operating system. Where the OS doesn't support a particular function, APR will provide a replacement. Thus, the APR can be used to make a program truly portable across platforms.
 
''The APR was originally a part of Apache, but has now been spun off into a separate project of the Apache Software Foundation, and is used by other applications to achieve platform independence.
 
''The range of platform-independent functionality provided by APR includes:
 
* ''Memory allocation and memory pool functionality
* ''Atomic operations
* ''Dynamic library handling
* ''File I/O
* ''Command argument parsing
* ''Locking
* ''Hash tables and arrays
* ''Mmap functionality
* ''Network sockets and protocols
* ''Thread, process and mutex functionality
* ''Shared memory functionality
* ''Time routines
* ''User and group ID services
 
=== Comparison of APR and other client file storage methods ===


* A table showing where the APR and other procedural file storage methods are used in the client source can be found here: [[Local data storage methods used in the viewer]]
* A table showing where the APR and other procedural file storage methods are used in the client source can be found here: [[Local data storage methods used in the viewer]]

Latest revision as of 14:22, 19 June 2008

The Apache Portable Runtime (APR) is a set of functions designed to abstract common I/O functions in a crossplatform manner. We primarily use it for threading and socket i/o. This is actually three packages, apr, apr-util and apr-iconv.

The source and further documentation is available at http://apr.apache.org/

What is the APR?

As described in the [Wikipedia article] about the APR:

The Apache Portable Runtime (APR) is a supporting library for the Apache web server. It provides a set of APIs that map to the underlying operating system. Where the OS doesn't support a particular function, APR will provide a replacement. Thus, the APR can be used to make a program truly portable across platforms.

The APR was originally a part of Apache, but has now been spun off into a separate project of the Apache Software Foundation, and is used by other applications to achieve platform independence.

The range of platform-independent functionality provided by APR includes:

  • Memory allocation and memory pool functionality
  • Atomic operations
  • Dynamic library handling
  • File I/O
  • Command argument parsing
  • Locking
  • Hash tables and arrays
  • Mmap functionality
  • Network sockets and protocols
  • Thread, process and mutex functionality
  • Shared memory functionality
  • Time routines
  • User and group ID services

Comparison of APR and other client file storage methods