6. PiaTransport 編
はじめに
この章は Pia のモジュールの一つである PiaTransport の機能と、プログラミング手順について説明するものです。詳細については関数リファレンスを併せて参照してください。
機能概要
- PiaTransport はネットワークの下層レイヤーを抽象化します。これにより、アプリケーションは下層レイヤーでの通信方式をあまり区別せずに通信を行うことができます。
- PiaTransport は、送信スレッドと受信スレッドを作成します。これらのスレッドにより、送受信関数呼び出しにおけるブロック時間を吸収しています。
- PiaTransport は、プロトコルという概念を提供します。 プロトコルとしては ReliableProtocol や UnreliableProtocol などを用意しており、それぞれ信頼性のある通信 (TCP 的)、信頼性のない通信(UDP 的)をアプリケーションに提供します。
- PiaTransport では、異なる種類のデータもできるだけ一つのパケットにまとめようとする処理が実行されます(パケットバンドリング)。これにより、通信帯域を有効に活用できます。
- PiaTransport では、パケット改ざん防止のために署名をつけることができます。署名アルゴリズムは MD5 が利用できます。SHA-1 などの別のアルゴリズムについては要望に応じて追加する予定です。