提交 d50f09ff 编写于 作者: D Daniel P. Berrangé 提交者: Gerd Hoffmann

ui: extend VNC trottling tracing to SASL codepaths

In previous commit:

  commit 6aa22a29
  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: NLaszlo Ersek <lersek@redhat.com>
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
Message-id: 20180205114938.15784-5-berrange@redhat.com
Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
上级 cf070658
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册