From e6e820ed84bd56a0686716d6a88012424cd53db5 Mon Sep 17 00:00:00 2001 From: Astro Date: Wed, 29 Sep 2010 03:40:43 +0200 Subject: [PATCH 1/3] speedtest: move server.js to repo root for joyent node-service --- speedtest/server.js => server.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename speedtest/server.js => server.js (91%) diff --git a/speedtest/server.js b/server.js similarity index 91% rename from speedtest/server.js rename to server.js index bf00cac..2aebeaa 100644 --- a/speedtest/server.js +++ b/server.js @@ -1,5 +1,5 @@ var Connect = require('connect'); -var spacesocket = require('../lib/spacesocket'); +var spacesocket = require('./lib/spacesocket'); var dummyData = ''; for(var i = 0; i < 1024; i++) @@ -7,7 +7,7 @@ for(var i = 0; i < 1024; i++) var server = Connect.createServer( Connect.logger(), - Connect.staticProvider(__dirname), + Connect.staticProvider(__dirname + '/speedtest'), Connect.errorHandler({ dumpExceptions: true, showStack: true }) ); var port = parseInt(process.env.PORT, 10) || 8000; From 6385d47e3acd430a18b222e2e682a133c8ff8917 Mon Sep 17 00:00:00 2001 From: Astro Date: Wed, 29 Sep 2010 03:47:10 +0200 Subject: [PATCH 2/3] client: fix download elapsed calculation --- speedtest/client.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/speedtest/client.js b/speedtest/client.js index 92e38cc..ca92210 100644 --- a/speedtest/client.js +++ b/speedtest/client.js @@ -117,10 +117,10 @@ Download.prototype.onMessage = function(msg) { this.textUpdate = setTimeout(function() { delete that.textUpdate; - var elapsed = Math.min(that.lastMessage - that.startTime, 1); + var elapsed = Math.max(that.lastMessage - that.startTime, 1); $('#download').empty(); $('#download').append('avg: ' + - human(that.bytesRecvd * 1000 / (elapsed)) + 'B/s
' + + human(that.bytesRecvd * 1000 / elapsed) + 'B/s
' + human(that.bytesRecvd) + 'B in ' + elapsed + ' ms'); }, 100); From 3719fc150163c75aed8dbdf4949cc8ff90199d3f Mon Sep 17 00:00:00 2001 From: Astro Date: Wed, 29 Sep 2010 03:47:27 +0200 Subject: [PATCH 3/3] client websocket: startTimer after onopen --- speedtest/client.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/speedtest/client.js b/speedtest/client.js index ca92210..6dfd4b1 100644 --- a/speedtest/client.js +++ b/speedtest/client.js @@ -182,9 +182,16 @@ function runTest(t, cb) { var ws = new WebSocket(url, t.proto); var test = new t(ws); + var startTimer = function() { + setTimeout(function() { + test.onDone(); + }, getDuration() * 1000); + }; + ws.onopen = function() { console.log('open'); test.onOpen(); + startTimer(); }; ws.onmessage = function(ev) { test.onMessage(ev.data); @@ -195,12 +202,8 @@ function runTest(t, cb) { }; ws.onerror = function(e) { console.error(e); - test.onError(e); + cb(); }; - - setTimeout(function() { - test.onDone(); - }, getDuration() * 1000); } if (!WebSocket) {