void NET_SimulateDatagramPacketLoss(NET_DatagramSocket *sock, int percent_loss);
| NET_DatagramSocket * | sock | 失敗率を設定するソケット |
| int | percent_loss | 0から100の値. 高いほど失敗する. 0のとき無効にする |
開発マシンでネットワークアプリケーションのテストを行う場合があるが(そのマシンは高速で信頼性の高い有線接続であろう), 実際の環境下でwifiの不安定さやファイヤウォールの妨げにより絶え間ないネットワークの切断が発生する場合のバグは発見できないかもしれない.
この関数はライブラリが疑似的にデータグラムソケットデータ通信の失敗を発生させる確率を設定する.
このライブラリはpercent_lossの確率でランダムに(送信と受信の両方の)パケットを失わせる.
この関数に0(デフォルト)を設定するとシミュレートが無効になる.
100を設定すると常に失敗する.
システムが使用不能になる限界がどこになるかは開発者の課題である.
これは実環境の様々な悪条件をシミュレートしてデバッグを行うことを目的としている. この関数を本番環境で呼ぶべきではない. 実環境では本物の失敗が発生するだろう.
この関数はどのスレッドからも安全に呼べる.