TsgcTURNServerEvents › OnTURNCreateAllocation

OnTURNCreateAllocation Evento

Sollevato dopo che una nuova Allocation è stata creata con successo per un client.

Sintassi

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

Valore predefinito

Note

Generato una volta per ogni ALLOCATE riuscito, subito dopo che l'allocazione è stata aggiunta alla tabella interna del server e la AllocateResponse è stata inviata al client. Allocation espone il contesto completo: LocalIP/LocalPort (endpoint di ascolto lato server), ReflexiveIP/ReflexivePort (indirizzo mappato del client), RelayIP/RelayPort (l'indirizzo di trasporto inoltrato pubblicizzato al client tramite XOR-RELAYED-ADDRESS), Username/Realm, Lifetime / Expiry e le sotto-collezioni Permissions / Channels. Utilizzarlo per aggiornare dashboard operative, contabilità o quote per utente. L'istanza di Allocation è di proprietà del server — non liberarla; viene passata nuovamente a OnTURNDeleteAllocation alla scadenza dell'allocazione. Viene eseguito sul thread del listener a meno che NotifyEvents non lo reindirizzi.

Esempio

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;

Torna agli Eventi