![]() ![]() ![]()
|
SophiaFramework 2.1 |
#include <SFUNetworkBuffer.hpp>
class SFUNetworkBuffer : public SFUStreamBuffer;
typedef SFUNetworkBuffer& SFUNetworkBufferRef; typedef SFUNetworkBuffer* SFUNetworkBufferPtr; typedef SFUNetworkBuffer** SFUNetworkBufferHandle; typedef const SFUNetworkBuffer ConstSFUNetworkBuffer; typedef const SFUNetworkBuffer& ConstSFUNetworkBufferRef; typedef const SFUNetworkBuffer* ConstSFUNetworkBufferPtr; typedef const SFUNetworkBuffer** ConstSFUNetworkBufferHandle;
SFUNetworkBuffer はネットワーク バッファ (ソケット バッファ) を実装したクラスです。 SFUNetworkStream クラスで使用されます。
| コンストラクタ/デストラクタ | ||
|---|---|---|
| public |
SFUNetworkBuffer | SFUNetworkBuffer クラスのコンストラクタです。 |
| public |
~SFUNetworkBuffer | SFUNetworkBuffer クラスのデストラクタです。 |
| パブリック関数 | ||
|---|---|---|
| public |
Available (SFUStreamBuffer から継承) | バッファにデータが存在するか調べます。 |
| public |
Close | ネットワーク バッファをクローズします。 |
| public |
Exception (SFAException から継承) | エラーコードを取得/設定します。 |
| public |
Fetch | ネットワークから受信バッファにデータを受信します。 |
| public |
Flush | 送信バッファのデータをネットワークに送信します。 |
| public |
Get (SFUStreamBuffer から継承) | バッファのデータを取得します。 |
| public |
IsEOB | 受信バッファの現在位置が終端に達したか判定します。 |
| public |
IsEOS | 受信ストリームの終端に達したか判定します。 |
| public |
Open | ネットワーク バッファをオープンします。 |
| public |
Put (SFUStreamBuffer から継承) | バッファにデータを追加します。 |
| public |
Seek (SFUStreamBuffer から継承) | ストリーム バッファの現在位置をシークします。 |
| public |
Tell (SFUStreamBuffer から継承) | ストリーム バッファの現在位置を取得します。 |
| プロテクト関数 | ||
|---|---|---|
| public |
Exception (SFAException から継承) | エラーコードを取得/設定します。 |
| protected |
InBase (SFUStreamBuffer から継承) | 入力バッファの先頭アドレスを取得します。 |
| protected |
InEnd (SFUStreamBuffer から継承) | 入力バッファの末尾アドレスを取得します。 |
| protected |
InPtr (SFUStreamBuffer から継承) | 入力バッファの現在アドレスを取得します。 |
| protected |
OutBase (SFUStreamBuffer から継承) | 出力バッファの先頭アドレスを取得します。 |
| protected |
OutEnd (SFUStreamBuffer から継承) | 出力バッファの末尾アドレスを取得します。 |
| protected |
OutPtr (SFUStreamBuffer から継承) | 出力バッファの現在アドレスを取得します。 |
| protected |
Overflow | 送信バッファを拡大します。 |
| protected |
SetIn (SFUStreamBuffer から継承) | 入力バッファの先頭アドレス、現在アドレス、末尾アドレスを設定します。 |
| protected |
SetOut (SFUStreamBuffer から継承) | 出力バッファの先頭アドレス、現在アドレス、末尾アドレスを設定します。 |
| protected |
Underflow (SFUStreamBuffer から継承) | ストリーム バッファのサイズを超えてデータを読み取ろうとした場合に呼び出されます。 |
| 型 | ||
|---|---|---|
| ERROR (SFUStreamBuffer から継承) | エラーを表す列挙型です。 | |
| NOTIFICATION | ネットワーク コールバック関数の通知コードです。 | |
| NO_ERROR (SFAException から継承) | エラーがないことを表す定数です。 | |
| SFUNetworkBufferSPP | ネットワーク コールバック関数を表す型です。 | |
[ public ] SFUNetworkBuffer(Void);
ネットワーク バッファの初期化処理を行います。
[ public, virtual ] ~SFUNetworkBuffer(Void);
ネットワーク バッファに関連付けられていたリソースを解放します。
[ public ] Void Close(Void);
ネットワークから受信バッファにデータを受信します。 この関数を呼び出すとすぐに戻ります。 データを受信したか、 受信の途中でネットワーク エラーが発生すると、 Open() 関数で指定されたネットワーク コールバック関数が呼び出されます。
[ public ] Void Flush(Void);
送信バッファのデータをネットワークに送信します。 この関数呼び出しはすぐに戻ります。 送信バッファのデータをすべて送信したか、 送信の途中でネットワーク エラーが発生すると、 Open() 関数で指定されたネットワーク コールバック関数が呼び出されます。
[ public ] Bool IsEOB(Void);
受信バッファの現在位置が終端に達した場合に TRUE を返します。 そうでなければ FALSE を返します。
[ public, virtual ] Bool IsEOS(Void);
[ public ] Void Open( ConstSFUIPEndpointRef endpoint // 接続先の IP エンドポイント SFUNetworkBufferSPP sppCallback // ネットワーク コールバック関数 VoidPtr pData // コールバックに渡すユーザー定義データ UInt32 initbufsize = 1024 // 送信バッファの初期サイズ );
送信バッファを少なくとも指定されたサイズだけ拡大します。
enum NOTIFICATION {
NOTIFY_ERROR = 1,
NOTIFY_CONNECT,
NOTIFY_READ,
NOTIFY_WRITE
};
ネットワーク コールバック関数 (SFUNetworkBuffer::SFUNetworkBufferSPP) が呼び出されるときに、その第一引数として渡される通知コードです。
ネットワークとの接続や送受信中にエラーが発生した場合は NOTIFY_ERROR が渡されます。
ネットワークへの接続が完了した場合は NOTIFY_CONNECT が渡されます。
ネットワークからの受信が完了した場合は NOTIFY_READ が渡されます。
ネットワークへの送信が完了した場合は NOTIFY_WRITE が渡されます。
typedef Void(* SFUNetworkBuffer::SFUNetworkBufferSPP)(enum NOTIFICATION, VoidPtr)
ネットワーク コールバック関数は Open() 関数呼び出し時に指定します。
| Copyright(C) 2003 Sophia Cradle Inc., All Rights Reserved. |
![]() ![]() ![]()
|