potrDisconnectPeer 関数の実装。
c-modernization-kit sample team
1.0.0
2026/03/23
Copyright (C) CompanyName, Ltd. 2026. All rights reserved.
POTR_EXPORT int POTR_API potrDisconnectPeer ( PotrHandle handle, PotrPeerId peer_id )指定ピアを切断します (N:1 モード専用)。
指定したピアへ FIN パケットを送信し、ピアのリソースを解放します。
切断完了後に POTR_EVENT_DISCONNECTED コールバックが発火します。
N:1 モード (unicast_bidir かつ src 情報省略) 専用です。
1:1 モードおよびその他の通信種別では POTR_ERROR を返します。
成功時は POTR_SUCCESS、失敗時は POTR_ERROR を返します。
handle が NULL の場合は失敗を返します。
peer_id = POTR_PEER_NA または POTR_PEER_ALL の場合は失敗を返します。
指定した peer_id が存在しない場合は失敗を返します。
1:1 モードまたは N:1 モード以外で呼び出した場合は失敗を返します。
本関数はスレッドセーフです。
内部で peers_mutex により排他制御されるため、複数スレッドから並行して呼び出せます。
ただし PotrRecvCallback の内部から本関数を呼び出すとデッドロックが発生します。
コールバック内からの呼び出しは避けてください。
#define POTR_MUTEX_LOCK_LOCAL ( m )
pthread_mutex_lock(m)#define POTR_MUTEX_UNLOCK_LOCAL ( m )
pthread_mutex_unlock(m)typedef pthread_mutex_t PotrMutexLocal;