Navigation


Changes between Initial Version and Version 1 of Dev/Overview


Ignore:
Timestamp:
Mar 1, 2011, 2:50:31 PM (10 years ago)
Author:
Sebastien Decugis
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Dev/Overview

    v1 v1  
     1= Source repository overview =
     2
     3The freeDiameter source code is split in several modules. The layout of the source repository mimics this structure. Each component is briefly explained here:
     4
     5 libfdproto::
     6   The "lower level" library of the framework.
     7   This library provides the necessary functions to parse or create Diameter messages
     8   and AVPs, including dictionary support.
     9   It also provides additional features such as logging facility,
     10   simple Diameter sessions handling support, etc.
     11   The complete API to the library is documented in the source file
     12   [source:freeDiameter/include/freeDiameter/libfdproto.h
     13   include/freeDiameter/libfdproto.h].
     14   It is conceivable that this library will be reused by other projects
     15   that do not require the full freeDiameter framework.
     16
     17 libfdcore::
     18   This is the main component of the {{{freeDiameter}}} framework.
     19   This library handles all Diameter network operations,
     20   such as management of peers connections, Diameter Base Protocol operations,
     21   messages routing, etc.
     22   In addition, this library can load {{{extensions}}} to support new features.
     23   To initialize this library, a configuration file is required
     24   (see [wiki:Configuration] page about this file).
     25   The complete API to this library is documented in the source file
     26   [source:freeDiameter/include/freeDiameter/libfdcore.h
     27   include/freeDiameter/libfdcore.h].
     28   This library strongly depends on {{{libfdproto}}} and also the
     29   GNU TLS library.
     30
     31 freeDiameterd::
     32   This is a simple daemon that parses command-line options, initializes
     33   the {{{freeDiameter}}} framework (libfdcore), and waits for signal to
     34   terminate.
     35   Note that the {{{freeDiameter}}} framework can be used without this
     36   daemon by linking the ''libfdcore'' library and calling the appropriate
     37   initialization functions directly from a different application.
     38
     39 extensions::
     40   This folder contains the source of all extensions that are included in
     41   freeDiameter. See the [wiki:Extensions] page for details about each extension.
     42 
     43 include/freeDiameter::
     44   This contains all the "public" header files for the freeDiameter framework.
     45   The header file directly contain the documentation of each function.
     46   This is the first place to look for information about a function of the framework.
     47
     48 doc::
     49   This folder contains the documentation and sample configuration files for the
     50   framework and its extensions.
     51
     52 tests::
     53   This contains the unit tests for the framework.
     54   We are running the tests nightly on several machines to check for regressions.
     55   See the [http://www.freediameter.net/CDash/index.php?project=freeDiameter Dashboard]
     56   for the latest test status report.
     57
     58 cmake::
     59   This contains additional definitions for the build system.
     60
     61 contrib::
     62   This contains additional resources that may be useful to freeDiameter users.
     63   See the [source:freeDiameter/contrib/README README] file in this folder
     64   for more information.
     65
     66----