TsgcTURNServer › Olaylar › OnTURNDeleteAllocation
Bir Allocation, ya istemcinin refresh-to-zero işlemiyle ya da ömrü dolduğu için kaldırıldıktan sonra tetiklenir.
property OnTURNDeleteAllocation: TsgcTURNAllocationEvent;
// TsgcTURNAllocationEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const Allocation: TsgcTURNAllocationItem) of object
—
Allocation teardown başına bir kez tetiklenir: istemci lifetime = 0 ile bir REFRESH verdiğinde, allocation ömrü sunucunun dahili zamanlayıcısında sona erdiğinde veya sunucunun kendisi devre dışı bırakıldığında (Active := False). Allocation, Username, RelayIP/RelayPort, Permissions, Channels ve son Expiry öğelerinin nihai anlık görüntüsünü hâlâ açığa çıkarır — muhasebe kayıtları oluşturmak, kontrol panellerini kapatmak veya kullanıcı başına kaynakları serbest bırakmak için kullanışlıdır. Silme bir istemci isteği yerine süre sonu zamanlayıcısı tarafından yönlendirildiğinde aSocket nil olabilir. Allocation örneği, işleyici döndükten hemen sonra sunucu tarafından serbest bırakılır; başvuruyu saklamayın. NotifyEvents onu yönlendirmedikçe listener/timer iş parçacığında çalışır.
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;