ACE Programmer's Guide 抜粋

本文は ACE Programmer's Guide の概要を訳したものとなっております。
掲載のソースコードについてはページ参照のみを記しておりますので、原著をご参照下さい。
なお、誤訳、誤字脱字などを発見された場合にはご連絡いただければ幸いです。
また、この文書を利用して被ったいかなる損害についても保証はいたしかねます。

第一部 ACE の基本

1.ACE の紹介

ACE の構成
複数のOSにあなたのコードを移植する
C++コンパイラ間の差異を吸収する
1バイト、又は複数バイトの文字を利用する

2.ACE のビルドと使い方

ACE 配布物ガイド
ACE のビルド
ACE をアプリケーションに利用するには

3.ACE Logging 機能

基本的なログとトレース
表示するログレベルの調整
ACE ロギングマクロのカスタマイズ
ログ出力先の変更
コールバックの使い方
ログクライアントとサーバのデーモン
LogManager クラス
ログ機能の実行時における設定変更

4.実行時情報の収集

コマンドライン引数と ACE_Get_Opt
設定ファイルの利用
引数ベクタの組み立て方

5.ACE コンテナ

コンテナコンセプト
順序付きコンテナ
連想コンテナ
アロケータ

第二部 プロセス間通信

6.TCP/IP ソケットの利用

シンプルなクライアント
クライアントへの安定性の付加
サーバの作り方

7.イベントの取り扱いと複数I/Oストリーム

リアクターフレームワークの概観
複数I/Oソースの取り扱い
シグナル
お知らせ(Notification)
タイマー
アクセプターコネクターフレームワークの使い方
リアクターの実装

8.非同期I/Oとプロアクターフレームワーク

どうして非同期I/Oを利用するのか?
データの送受信方法
接続の確立
ACE_Proactor デマルチプレクサ
タイマの利用
その他の I/O ファクトリクラス
リアクターとプロアクターフレームワークの結合

9.その他の IPC(プロセス間通信) 方法

UDP/IP によるホスト間 IPC
ホスト内コミュニケーション

第三部 プロセス・スレッド管理

10.プロセス管理

新規プロセスの生成
ACE_Process_Manager の利用
ACE_Process_Mutex を利用した同期

11.シグナル

ラッパーの利用
イベントハンドラ
クリティカルセクションの保護
リアクターによるシグナル管理

12.マルチスレッドプログラミングの基本

スレッド安全性についての基本
タスク間通信

13.スレッド管理

スレッドのタイプ
優先度とスケジューリングによる分類
スレッドプール
ACE_Thread_Manager によるスレッド管理
シグナル
スレッド開始時フック
キャンセル

14.スレッド安全性と同期

保護プリミティブ
スレッド同期
スレッド固有ストレージ

15.アクティブオブジェクト

パターン
パターンの利用

16.スレッドプール

スレッドプールに関する説明
Half-Sync/Half-Async モデル
Leader/Followers モデル
スレッドプールとリアクター

第四部 ACE の高度な内容

17.共有メモリ

ACE_Malloc と ACE_Allocator
ACE_Malloc による永続性
位置非依存の割り当て
コンテナのための ACE_Malloc
ラッパー

18.ACE ストリームフレームワーク

概観
一方通行のストリーム利用方法
双方向のストリーム

19.ACE サービス設定フレームワーク

概観
静的なサービスの設定
動的なサービスの設定
ストリームの設定
実行時のサービス再設定
XML によるサービスとストリームの設定
svc.conf を使わないサービスの設定
シングルトンとサービス

20.タイマ

タイマコンセプト
タイマキュー
準備済みディスパッチャ
イベントハンドラの管理

21.ACE ネーミングサービス

ACE_Naming_Context
単一プロセスでの名前付け:PROC_LOCAL
単一ノードにおける名前の共有:NODE_LOCAL
ネットワーク内における名前の共有:NET_LOCAL

Top