DWC_SendUnreliableBitmap

構文

#include <dwc.h>
u32 DWC_SendUnreliableBitmap(u32 bitmap,
                             const void *buffer,
                             int size);

引数

bitmap 送信先のAIDのビットをセットした状態のビットマップ
buffer 送信バッファのポインタ
size 送信バッファのサイズ

返り値

送信の準備に成功したAIDのビットをセットした状態のビットマップ。自分のAIDのビットを立てて引数に渡した場合は立てたままになる。
失敗するのはエラー発生中か、無効なAIDを指定した、もしくは最大データサイズ以上のサイズの送信を行おうとした場合。

説明

マッチメイク完了後、bitmapで指定されたAIDのビットマップで、複数のAIDへUDPでUnreliable送信を行います。

Unreliable送信はUDP通信そのもので、送信したパケットが欠落したり、順番が入れ替わったりする可能性があります。送信したデータが届かなかったとしても、エラーを返すことはありません。その代わり、データの到着確認も再送も行わないので高速です。

本関数はDWC_TRANSPORT_SEND_UNRELIABLE_MAX(1462byte)までのサイズを送信できます。これより大きなサイズを指定すると関数はFALSEを返します。

DWC_SetUserSendCallback関数で送信完了コールバックを設定していた場合、送信に成功していれば、本関数を抜ける前にコールバックが呼び出されます。ただし、ここでいう送信の完了とは、低レイヤーの送信関数にデータを渡し終えたというだけで、相手側にデータが到着したという意味ではありません。

接続中のホストのAIDビットマップは、DWC_GetAIDBitmap関数で取得することができます。

DWC_SendUnreliable関数を使えば、AIDを数値で指定してUnreliable送信を行うことができます。

履歴

5.1pr2より前の変更履歴はこちら