TsgcTURNServerGebeurtenissen › OnTURNCreateAllocation

OnTURNCreateAllocation Gebeurtenis

Wordt geactiveerd nadat een nieuwe toewijzing succesvol is aangemaakt voor een client.

Syntaxis

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

Standaardwaarde

Opmerkingen

Eenmalig geactiveerd per succesvolle ALLOCATE, direct nadat de toewijzing aan de interne tabel van de server is toegevoegd en de AllocateResponse naar de client is verzonden. Allocation stelt de volledige context bloot: LocalIP/LocalPort (luistereindpunt aan serverzijde), ReflexiveIP/ReflexivePort (het gemapte adres van de client), RelayIP/RelayPort (het doorgegeven transportadres geadverteerd aan de client via XOR-RELAYED-ADDRESS), Username/Realm, Lifetime / Expiry en de subcollecties Permissions / Channels. Gebruik dit om operationele dashboards, boekhouding of per-gebruikersquota bij te werken. De Allocation-instantie is eigendom van de server — geef deze niet vrij; deze wordt opnieuw doorgegeven aan OnTURNDeleteAllocation wanneer de toewijzing verloopt. Wordt uitgevoerd op de luisterthread tenzij NotifyEvents dit omleidt.

Voorbeeld

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

Terug naar gebeurtenissen