TsgcTURNServerEvents › OnTURNDeleteAllocation

OnTURNDeleteAllocation Zdarzenie

Wywoływane po usunięciu przydziału — wskutek zerowania odświeżenia przez klienta lub wygaśnięcia czasu życia przydziału.

Składnia

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

Wartość domyślna

Uwagi

Wywoływane raz przy każdym demontażu alokacji: gdy klient wydaje REFRESH z lifetime = 0, gdy czas alokacji wygasa na wewnętrznym timerze serwera lub gdy sam serwer jest dezaktywowany (Active := False). Allocation nadal udostępnia ostatnią migawkę Username, RelayIP/RelayPort, Permissions, Channels i ostatniego Expiry — przydatne do emitowania rekordów rozliczeniowych, zamykania pulpitów nawigacyjnych lub zwalniania zasobów per-user. aSocket może być nil, gdy usunięcie jest wywoływane przez timer wygaśnięcia, a nie przez żądanie klienta. Instancja Allocation jest zwalniana przez serwer natychmiast po powrocie z procedury obsługi; nie należy zachowywać referencji. Działa w wątku nasłuchującego/timera, chyba że NotifyEvents przekieruje je.

Przykład

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;

Powrót do Zdarzeń