TsgcHTTP3Client › Methoden › TunnelPump
Treibt die QUIC-Ereignisschleife an, sodass Tunneldaten gelesen und über OnTunnelData zugestellt werden.
procedure TunnelPump(aTimeoutMs: Integer);
| Name | Typ | Beschreibung |
|---|---|---|
aTimeoutMs | Integer | Wie lange gepumpt werden soll, in Millisekunden. Übergeben Sie 0 oder einen negativen Wert für einen einzelnen nicht-blockierenden Durchlauf. |
Keine. Empfangene Bytes werden über OnTunnelData zugestellt.
Ein Tunnel hat keinen Hintergrund-Lesethread, daher werden eingehende DATA-Frames nur aufgenommen, während der Aufrufer die QUIC-Ereignisschleife antreibt. TunnelPump tut genau das: Es liest von der Verbindung, bis aTimeoutMs verstrichen ist, und löst OnTunnelData für jeden DATA-Frame aus, der auf dem Tunnel-Stream eintrifft.
Rufen Sie es regelmäßig aus einem Timer oder einem dedizierten Thread auf, solange der Tunnel geöffnet ist. Die Übergabe von 0 führt einen einzelnen nicht-blockierenden Lesedurchlauf aus, was zu einer engen Polling-Schleife passt, die auch andere Arbeit zu erledigen hat.
Die Methode kehrt sofort zurück, wenn der Client nicht verbunden ist.
Dieses Mitglied ist derzeit nur in der Delphi/C++Builder-Implementierung verfügbar.
// drive the tunnel for one second
oClient.TunnelPump(1000);
// or a single non-blocking pass inside a loop
while vRunning do
begin
oClient.TunnelPump(0);
Application.ProcessMessages;
end;