fml のブートしていく様について
イメージ
libexec/loader -> FML::Process::Switch ->
FML::Process::Flow ->
FML::Process::それぞれのプログラムのモジュール
=>
FML::Process::それぞれのプログラムのモジュールについて
$process = new FML::Process::なにか;
$process->prepare($args);
$process->run($args);
$process->finish($args);
のように実行されています。
各プロセスは、それぞれについて適当な関数を
用意してください。
○ loader から次々と呼ばれていく様子は、例えば配送処理の場合、次のよう になる。 libexec/loader は FML::Process::Switch をロードし、 FML::Process::Distribute を実行すると決める。 FML::Process::Flow::ProcessStart() は引数として FML::Process::Distribute を渡され、 FML::Process::Distribute を実行していく。
○ クラスの階層構造?
FML::Process::Distribute >-|
FML::Process::Command >-|-- FML::Process::Kernel
FML::Process::Mead >-| |
|-use-a FML::Parse
|-use-a FML::Config
|-use-a FML::Log
|-use-a ... その他 ...