接続管理とストリーム型通信

クラス関係図

ストリームクラス関係図

Transceiver

複数の接続を扱うクラス。接続を操作する際はこのクラスを扱う。

実際の接続に対応するものは Acceptor と Communicator の二種類がある。 Acceptor は接続を受け入れるチャネルで、Communicator は実際にデータ通信を行うチャネルである。

TransceiverHandler

接続イベントを受け取るハンドラ抽象クラス。

ユーザーこのクラスを継承したクラスを実装し、Transceiver#setHandler() で登録する必要がある。

Acceptor

接続を待ち受けるチャネルを抽象化したクラス。現在のところは TCP listen に対応する。

ユーザーがこのクラスを直接触る必要は無い。

Communicator

データを送受信できる接続を抽象化したクラス。現在のところは TCP接続に対応する。

メッセージを使わず、ストリームを直接読み書きする場合にはこのクラスを使う。 メッセージを使う場合でも、接続操作はこのクラスを直接触る。

Buffer

メモリを抽象化し、シーケンシャルな読み書き操作を加えたクラス。

Communicator を通じて送受信を行う時は、送信用/受信用の Buffer へ読み書きを行うことで実現する。

Buffer は nine の基本要素の一つで、別ページで解説している。