TsgcTURNServerイベント › OnTURNDeleteAllocation

OnTURNDeleteAllocation イベント

クライアントのリフレッシュによるゼロ化またはライフタイムの期限切れにより、アロケーションが削除された後に発生します。

構文

property OnTURNDeleteAllocation: TsgcTURNAllocationEvent;
// TsgcTURNAllocationEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const Allocation: TsgcTURNAllocationItem) of object

デフォルト値

解説

アロケーションのティアダウンごとに 1 回発生します。クライアントが lifetime = 0 で REFRESH を発行したとき、アロケーションの有効期限がサーバーの内部タイマーで切れたとき、またはサーバー自体が非アクティブ化されたとき(Active := False)。Allocation はまだ UsernameRelayIP/RelayPortPermissionsChannels、最後の Expiry の最終スナップショットを公開します。これは会計レコードの送信、ダッシュボードの閉鎖、またはユーザーごとのリソースの解放に役立ちます。削除がクライアントリクエストではなく有効期限タイマーによって駆動される場合、aSocketnil の場合があります。Allocation インスタンスはハンドラーが返った直後にサーバーによって解放されます。参照を保持しないでください。NotifyEvents がリダイレクトしない限り、リスナー/タイマースレッドで実行されます。

使用例

procedure TForm1.OnTURNDeleteAllocation(Sender: TObject;
  const aSocket: TsgcSocketConnection; const Allocation: TsgcTURNAllocationItem);
begin
  Memo1.Lines.Add(Format('Allocation deleted: user=%s relay=%s:%d',
    [Allocation.Username, Allocation.RelayIP, Allocation.RelayPort]));
end;

イベントに戻る