TsgcWebSocketServerOlaylar › OnSendBufferFull

OnSendBufferFull Olay

Bir istemci bağlantısının giden kuyruğu QueueOptions.MaxQueueSize değerine ulaştığında, taşma ilkesi uygulanmadan önce tetiklenir.

Sözdizimi

property OnSendBufferFull: TsgcWSSendBufferFullEvent;
// TsgcWSSendBufferFullEvent = procedure(Connection: TsgcWSConnection; const QueueSize: Integer; var DropMessage: Boolean) of object

Varsayılan Değer

Remarks

Yalnızca ileti kuyruklama etkinken ve QueueOptions.MaxQueueSize sıfırdan büyükken tetiklenir: kuyruğunda hâlihazırda MaxQueueSize ileti bulunan bir bağlantı için bir ileti kuyruğa eklenmek üzereyken, bu olay etkilenen Connection ve geçerli QueueSize ile birlikte tetiklenir. DropMessage True olarak gelir; ne olacağına QueueOptions.OverflowPolicy'nin karar vermesi için değiştirmeden bırakın (qopDropOldest kuyruktaki en eski iletiyi atar, qopDropNewest yeni iletiyi atar, qopDisconnect iletiyi atar ve bağlantıyı kapatır) veya iletiyi yine de kabul edip kuyruğun sınırın ötesine büyümesine izin vermek için False olarak ayarlayın. Yavaş tüketicileri sunucu belleğini tüketmeden önce tespit etmek için bu olayı kullanın.

Örnek


procedure OnSendBufferFull(Connection: TsgcWSConnection; const QueueSize: Integer;
  var DropMessage: Boolean);
begin
  WriteLn('#slow consumer ' + Connection.Guid + ': ' + IntToStr(QueueSize) + ' messages queued');
end;

Olaylara Dön