前のページ次のページ上に戻るホーム SophiaFramework 2.1
SFUNetworkBuffer
ネットワーク バッファを実装したクラスです。
#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 クラスの継承図

協調図

SFUNetworkBuffer クラスの協調図

解説

SFUNetworkBuffer はネットワーク バッファ (ソケット バッファ) を実装したクラスです。 SFUNetworkStream クラスで使用されます。

参照

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 ネットワーク コールバック関数を表す型です。

SFUNetworkBuffer::SFUNetworkBuffer
SFUNetworkBuffer クラスのコンストラクタです。
[ public ]
SFUNetworkBuffer(Void);

解説

ネットワーク バッファの初期化処理を行います。


SFUNetworkBuffer::~SFUNetworkBuffer
SFUNetworkBuffer クラスのデストラクタです。
[ public, virtual ]
~SFUNetworkBuffer(Void);

解説

ネットワーク バッファに関連付けられていたリソースを解放します。


SFUNetworkBuffer::Close
ネットワーク バッファをクローズします。
[ public ]
Void Close(Void);

参照

SFUNetworkBuffer::Open


SFUNetworkBuffer::Fetch
ネットワークから受信バッファにデータを受信します。
[ public ]
Void Fetch(
    UInt16 maxsize   // 受信する最大サイズ
);

解説

ネットワークから受信バッファにデータを受信します。 この関数を呼び出すとすぐに戻ります。 データを受信したか、 受信の途中でネットワーク エラーが発生すると、 Open() 関数で指定されたネットワーク コールバック関数が呼び出されます。

参照

SFUNetworkBuffer::SFUNetworkBufferSPP


SFUNetworkBuffer::Flush
送信バッファのデータをネットワークに送信します。
[ public ]
Void Flush(Void);

解説

送信バッファのデータをネットワークに送信します。 この関数呼び出しはすぐに戻ります。 送信バッファのデータをすべて送信したか、 送信の途中でネットワーク エラーが発生すると、 Open() 関数で指定されたネットワーク コールバック関数が呼び出されます。

参照

SFUNetworkBuffer::SFUNetworkBufferSPP


SFUNetworkBuffer::IsEOB
受信バッファの現在位置が終端に達したか判定します。
[ public ]
Bool IsEOB(Void);

戻り値

受信バッファの現在位置が終端に達した場合に TRUE を返します。 そうでなければ FALSE を返します。

参照

SFUNetworkBuffer::IsEOS


SFUNetworkBuffer::IsEOS
受信ストリームの終端に達したか判定します。
[ public, virtual ]
Bool IsEOS(Void);

参照

SFUNetworkBuffer::IsEOB


SFUNetworkBuffer::Open
ネットワーク バッファをオープンします。
[ public ]
Void Open(
    ConstSFUIPEndpointRef endpoint    // 接続先の IP エンドポイント
    SFUNetworkBufferSPP sppCallback   // ネットワーク コールバック関数
    VoidPtr pData                     // コールバックに渡すユーザー定義データ
    UInt32 initbufsize = 1024         // 送信バッファの初期サイズ
);

参照

SFUNetworkBuffer::Close


SFUNetworkBuffer::Overflow
送信バッファを拡大します。
[ protected, virtual ]
Void Overflow(
    UInt32 size   // 拡大する最低サイズ
);

解説

送信バッファを少なくとも指定されたサイズだけ拡大します。


SFUNetworkBuffer::NOTIFICATION
ネットワーク コールバック関数の通知コードです。
enum NOTIFICATION {
    NOTIFY_ERROR = 1,
    NOTIFY_CONNECT,
    NOTIFY_READ,
    NOTIFY_WRITE
};

解説

ネットワーク コールバック関数 (SFUNetworkBuffer::SFUNetworkBufferSPP) が呼び出されるときに、その第一引数として渡される通知コードです。

ネットワークとの接続や送受信中にエラーが発生した場合は NOTIFY_ERROR が渡されます。

ネットワークへの接続が完了した場合は NOTIFY_CONNECT が渡されます。

ネットワークからの受信が完了した場合は NOTIFY_READ が渡されます。

ネットワークへの送信が完了した場合は NOTIFY_WRITE が渡されます。

参照

SFUNetworkBuffer::SFUNetworkBufferSPP


SFUNetworkBuffer::SFUNetworkBufferSPP
ネットワーク コールバック関数を表す型です。
typedef Void(* SFUNetworkBuffer::SFUNetworkBufferSPP)(enum NOTIFICATION, VoidPtr)

解説

ネットワーク コールバック関数は Open() 関数呼び出し時に指定します。

参照

SFUNetworkBuffer::Open | SFUNetworkBuffer::NOTIFICATION