From 222a4a22214608b7f89691eee1c57873c2631705 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 22 May 2012 00:49:10 +0200 Subject: Imported nxagent-3.5.0-9.tar.gz Summary: Imported nxagent-3.5.0-9.tar.gz Keywords: Imported nxagent-3.5.0-9.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Display.c | 31 ++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Display.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Display.c b/nx-X11/programs/Xserver/hw/nxagent/Display.c index c60718d36..9031c25c7 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Display.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c @@ -746,8 +746,19 @@ static void nxagentDisplayWriteHandler(Display *display, int length) } } +static CARD32 nxagentRateTime = 5000; +static CARD32 nxagentLastTime; +static unsigned int nxagentRate = 0; + +int nxagentGetDataRate(void) +{ + return nxagentRate; +} + static void nxagentDisplayFlushHandler(Display *display, int length) { + CARD32 time; + if (nxagentDisplay != NULL) { #ifdef TEST @@ -765,6 +776,22 @@ static void nxagentDisplayFlushHandler(Display *display, int length) if (nxagentOption(LinkType) != LINK_TYPE_NONE) { nxagentFlush = GetTimeInMillis(); + + time = nxagentFlush; + + time = time - nxagentLastTime; + + if (time < nxagentRateTime) + { + nxagentRate = ((nxagentRate * (nxagentRateTime - time) + + length) * 1000) / nxagentRateTime; + } + else + { + nxagentRate = (length * 1000) / nxagentRateTime; + } + + nxagentLastTime = nxagentFlush; } } } @@ -1482,10 +1509,6 @@ void nxagentSetDefaultVisual(void) int i; - nxagentDefaultVisualIndex = 3; - - return; - if (nxagentUserDefaultClass || nxagentUserDefaultDepth) { nxagentDefaultVisualIndex = UNDEFINED; -- cgit v1.2.3