mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
ui: extend VNC trottling tracing to SASL codepaths
In previous commit:
commit 6aa22a2918
Author: Daniel P. Berrange <berrange@redhat.com>
Date: Mon Dec 18 19:12:27 2017 +0000
ui: add trace events related to VNC client throttling
trace points related to unthrottling client I/O were missed from the
SASL codepaths.
Reported-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Message-id: 20180205114938.15784-5-berrange@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
cf0706581b
commit
d50f09ff23
1 changed files with 11 additions and 0 deletions
|
@ -79,12 +79,23 @@ size_t vnc_client_write_sasl(VncState *vs)
|
|||
|
||||
vs->sasl.encodedOffset += ret;
|
||||
if (vs->sasl.encodedOffset == vs->sasl.encodedLength) {
|
||||
bool throttled = vs->force_update_offset != 0;
|
||||
size_t offset;
|
||||
if (vs->sasl.encodedRawLength >= vs->force_update_offset) {
|
||||
vs->force_update_offset = 0;
|
||||
} else {
|
||||
vs->force_update_offset -= vs->sasl.encodedRawLength;
|
||||
}
|
||||
if (throttled && vs->force_update_offset == 0) {
|
||||
trace_vnc_client_unthrottle_forced(vs, vs->ioc);
|
||||
}
|
||||
offset = vs->output.offset;
|
||||
buffer_advance(&vs->output, vs->sasl.encodedRawLength);
|
||||
if (offset >= vs->throttle_output_offset &&
|
||||
vs->output.offset < vs->throttle_output_offset) {
|
||||
trace_vnc_client_unthrottle_incremental(vs, vs->ioc,
|
||||
vs->output.offset);
|
||||
}
|
||||
vs->sasl.encoded = NULL;
|
||||
vs->sasl.encodedOffset = vs->sasl.encodedLength = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue