Changes between Version 3 and Version 4 of ModParrotArchitecture
- Timestamp:
- 11/21/08 18:17:31 (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ModParrotArchitecture
v3 v4 1 = mod_parrot Architecture = 2 1 3 NOTE: This is a work in progress. 2 4 3 = Overview=5 == Overview == 4 6 5 7 This page describes the various subsystems of mod_parrot, and how they all work together. It is meant to reflect the current state of mod_parrot and should not be used for future design notes. As such, it will be kept up to date with mod_parrot trunk. 6 8 7 = Terminology=9 == Terminology == 8 10 9 11 * HLL: high level language (e.g. Rakudo Perl 6, PHP) … … 14 16 * Context: a data structure containing information about the current connection 15 17 16 = Design Goals=18 == Design Goals == 17 19 18 20 * Provide a Parrot interface to the Apache API and data structures … … 21 23 * Become the primary platform for mod_perl6 development 22 24 23 = mod_parrot Module=25 == mod_parrot Module == 24 26 25 27 The mod_parrot Apache module is the product of compilation, and is usually named {{{mod_parrot.so}}} on Unix systems. It has a dependency on libparrot.so. … … 31 33 {{{LoadModule parrot_module modules/mod_parrot.so}}} 32 34 33 == Configuration==35 === Configuration === 34 36 35 == Contexts==37 === Contexts === 36 38 37 39 A context is a data structure that maintains state for mod_parrot during the various phases of a request. It is defined as {{{modparrot_context}}} in {{{mod_parrot.h}}} and contains the following members: … … 56 58 To maintain state, the same context must be used for all phases of a request, as it contains a reference to the interpreter. 57 59 58 == Interpreter Management==60 === Interpreter Management === 59 61 60 62 Contexts are allocated from context pools, which contain a finite number of contexts created at startup. Contexts contain pointers to Parrot interpreters so this also provides mod_parrot with a pool of interpreters. 61 63 62 === Interpreter Lifecycle===64 ==== Interpreter Lifecycle ==== 63 65 64 66 … … 66 68 Interpreters are created 67 69 68 = Apache Interface=70 == Apache Interface == 69 71 70 == NCI Functions==72 === NCI Functions === 71 73 72 == Parrot Objects==74 === Parrot Objects === 73 75 74 = HLL Modules=76 == HLL Modules == 75 77 76 == Module Registration==78 === Module Registration === 77 79 78 == Metahandlers==80 === Metahandlers === 79 81 80 = Multiprocessing Module Support=82 == Multiprocessing Module Support == 81 83 82 == Prefork MPM==84 === Prefork MPM === 83 85 84 == Threaded MPM (e.g. worker)==86 === Threaded MPM (e.g. worker) ===