8. Reactorフレームワーク

最終回は、予定を変えてReactorフレームワークを詳解します。
TCPServerはスレッドプールによるマルチスレッドのソケット通信ですが、クライアントの数が巨大なシステムではC10K問題を起こしてしまいます。それを解決するノンブロッキングI/Oを実現するのにPocoではReactorフレームワークを提供しています。

Reactorフレームワークを使うNetライブラリのサンプルとして、EchoServerプロジェクトがPOCOに付属しています。EchoServerプロジェクトを、Reactorフレームワークが提供するすべてのイベントハンドラをサポートするように改造してみます。
Continue reading

7. クラスローディング

今回は、POCOでのクラスローディングの実装例を詳解します。
まず、参考情報のポインタを示します。
http://pocoproject.org/slides/120-SharedLibraries.pdf

さて、このクラスローディングはPOCO独自の機能で、シェアドライブラリからプログラム実行時にクラスを動的生成することができます。
シェアドライブラリを追加・変更することで、プログラムの振る舞いを変更できますので、主な用途としてはプラグインが挙げられます。
クラスローディングのサンプルコードは、シェアドライブラリのコードとクラスローディングするコードの2つに分かれます。
Continue reading