diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-10-15 09:10:10 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-10-15 09:10:21 -0400 |
commit | 69faac9ae1d4498b4791af40a8e6bb877b82da77 (patch) | |
tree | 32b2f9e69edf1db568ae803b923a3b372798c50e /doc/development | |
parent | af4158afe15a3dc2ce1d98b80836e130b00eac81 (diff) | |
download | bcfg2-69faac9ae1d4498b4791af40a8e6bb877b82da77.tar.gz bcfg2-69faac9ae1d4498b4791af40a8e6bb877b82da77.tar.bz2 bcfg2-69faac9ae1d4498b4791af40a8e6bb877b82da77.zip |
documented core implementations
Diffstat (limited to 'doc/development')
-rw-r--r-- | doc/development/core.txt | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/doc/development/core.txt b/doc/development/core.txt index 145be3338..3607533ea 100644 --- a/doc/development/core.txt +++ b/doc/development/core.txt @@ -20,23 +20,26 @@ written to take advantage of other technologies, e.g., `Tornado A core implementation needs to: -* Override :func:`Bcfg2.Server.Core.Core._daemonize` to handle +* Override :func:`Bcfg2.Server.Core.BaseCore._daemonize` to handle daemonization, writing the PID file, and dropping privileges. -* Override :func:`Bcfg2.Server.Core.Core._run` to handle server +* Override :func:`Bcfg2.Server.Core.BaseCore._run` to handle server startup. -* Override :func:`Bcfg2.Server.Core.Core._block` to run the blocking - server loop. -* Call :func:`Bcfg2.Server.Core.Core.shutdown` on orderly shutdown. +* Override :func:`Bcfg2.Server.Core.BaseCore._block` to run the + blocking server loop. +* Call :func:`Bcfg2.Server.Core.BaseCore.shutdown` on orderly + shutdown. Nearly all XML-RPC handling is delegated entirely to the core implementation. It needs to: -* Call :func:`Bcfg2.Server.Core.Core.authenticate` to authenticate +* Call :func:`Bcfg2.Server.Core.BaseCore.authenticate` to authenticate clients. * Handle :exc:`xmlrpclib.Fault` exceptions raised by the exposed XML-RPC methods as appropriate. * Dispatch XML-RPC method invocations to the appropriate method, - including Plugin RMI. + including Plugin RMI. The client address pair (a tuple of remote IP + address and remote hostname) must be prepended to the argument list + passed to built-in methods (i.e., not to plugin RMI). Additionally, running and configuring the server is delegated to the core. It needs to honor the configuration options that influence how @@ -54,8 +57,20 @@ Core Implementations Builtin Core ------------ +The builtin server core consists of the core implementation +(:class:`Bcfg2.Server.BuiltinCore.Core`) and the XML-RPC server +implementation (:mod:`Bcfg2.SSLServer`). + +Core +~~~~ + .. automodule:: Bcfg2.Server.BuiltinCore +XML-RPC Server +~~~~~~~~~~~~~~ + +.. automodule:: Bcfg2.SSLServer + CherryPy Core ------------- |