#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より前の変更履歴はこちら