fml 8 tutorial
Prev | Chapter 28. fml8 Boot Loader To Resolve Version Dependence Dynamically | Next

# Modules In Process Execution

- libexec/loader (wrapper): executes Bootstrap() runction. libexec/distribute et.al. is a symlink(2) to this loader. See under /usr/local/libexec/fml/ path.

- - reads /usr/local/etc/fml/main.cf and resolves $fml_version. reset @INC by main.cf value. Since default_config.cf is version dependent, the loader should evaluate the file before it reads ML specific configuration files.

  - Evaluate @ARGV and resolves which ML specific configuration files we need to load.

  - load FML::Process::Switch class which is also version dependent.

    - The loader executes Bootstrap2() and ProcessSwitch() to switch the context to each one such as distribution, command mail et.al. In this time, the loader knows the role from $0 process name.

    - Exapmle of Polymorphyism: dynamic binding of module and creation of process object in starting the process. FML::Process::Flow describes the flow of process like this:

          $process = new FML::Process::SOMETHING;
          $process->prepare($args);
          $process->verify_request($args);
          $process->run($args);
          $process->finish($args);

      Each process should probide proper methods under FML::Process:: class.

Prev | Home | Next
FML::Process:: Class Structure | Up | Discussion: Where Function Should Resolve $ml_name And $ml_domain.

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/software/fml4/.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.