NHTTPBodyBufArg

構文


#include <nitroWiFi/nhttp.h>

typedef struct _NHTTPBodyBufArg {
    char*	buf;
    u32		size;
    u32		offset;
} NHTTPBodyBufArg;

説明

NHTTP_CreateConnection()で指定する NHTTPConnectionCallback()において、NHTTP_EVENT_BODY_RECV_FULL / NHTTP_EVENT_BODY_RECV_DONEイベントが起きた際に argとして渡される構造体です。
NHTTP_EVENT_BODY_RECV_FULLイベント時に、下記のメンバを上書きして NHTTP_ライブラリに返すことにより、受信バッファの再設定が可能です。
NHTTP_EVENT_BODY_RECV_FULLイベント時に、下記のメンバを上書きせずに NHTTP_ライブラリに返した場合、NHTTP_ライブラリは受信バッファが足りないとみなし、以降の受信データを読み捨てます。読み捨てられたデータを取得することはできません。

buf ボディ受信バッファのポインタです。
NHTTP_GetBodyBuffer()で取得するbodyBufferと同じ値を示します。
size ボディ受信バッファサイズです。
NHTTP_GetBodyBuffer()で取得するsizeと同じ値を示します。
offset ボディ受信バッファに格納されている受信データ長です。
NHTTP_GetBodyBuffer()の返り値と同じ値を示します。
NHTTP_ライブラリは NHTTPConnectionCallback()処理後、この offset位置から続けて受信バッファにデータを受信しようとします。
NHTTP_EVENT_BODY_RECV_FULLイベント時に、このoffsetの値を 0に設定して返すことにより、受信バッファを再利用することが可能です。

参照

NHTTPConnectionCallback

履歴

2006/10/14 初版