TsgcTURNServerEvents › OnTURNDeleteAllocation

OnTURNDeleteAllocation Event

Déclenché après la suppression d'une Allocation, soit par rafraîchissement à zéro du client, soit parce que sa durée de vie a expiré.

Syntaxe

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

Valeur par défaut

Remarques

Déclenché une fois par démantèlement d'allocation : lorsque le client émet un REFRESH avec lifetime = 0, lorsque la durée de vie de l'allocation expire sur le minuteur interne du serveur, ou lorsque le serveur lui-même est désactivé (Active := False). Allocation expose toujours l'instantané final de Username, RelayIP/RelayPort, Permissions, Channels et la dernière Expiry — utile pour émettre des enregistrements comptables, fermer des tableaux de bord ou libérer des ressources par utilisateur. aSocket peut être nil lorsque la suppression est pilotée par le minuteur d'expiration plutôt que par une requête client. L'instance Allocation est libérée par le serveur immédiatement après le retour du gestionnaire ; ne conservez pas la référence. S'exécute sur le thread d'écoute/minuteur sauf si NotifyEvents le redirige.

Exemple

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;

Retour aux événements