Agent settings for big test.

This commit is contained in:
Adam Ierymenko 2015-11-04 13:28:43 -08:00
parent 7756b5bf1c
commit 9ec32e7926

View File

@ -3,17 +3,17 @@
// ---------------------------------------------------------------------------
// Customizable parameters:
// Maximum interval between test attempts
var TEST_INTERVAL_MAX = (60000 * 5);
// Maximum interval between test attempts (actual timing is random % this)
var TEST_INTERVAL_MAX = (60000 * 10);
// Test timeout in ms
var TEST_TIMEOUT = 60000;
// Where should I contact to register and query a list of other test agents?
// Where should I get other agents' IDs and POST results?
var SERVER_HOST = '174.136.102.178';
var SERVER_PORT = 18080;
// Which port should agents use for their HTTP?
// Which port do agents use to serve up test data to each other?
var AGENT_PORT = 18888;
// Payload size in bytes
@ -181,93 +181,6 @@ function doTest()
submit.end();
};
/*
function performTestOnAllPeers(peers,callback)
{
var allResults = {};
var allRequests = [];
var timedOut = false;
var endOfTestTimer = setTimeout(function() {
timedOut = true;
for(var x=0;x<allRequests.length;++x)
allRequests[x].abort();
},TEST_DURATION);
async.each(peers,function(peer,next) {
if (timedOut)
return next(null);
if (peer.length !== 32)
return next(null);
var connectionStartTime = Date.now();
allResults[peer] = {
start: connectionStartTime,
end: 0,
error: null,
timedOut: false,
bytes: 0
};
allRequests.push(http.get({
host: agentIdToIp(peer),
port: AGENT_PORT,
path: '/'
},function(res) {
var bytes = 0;
res.on('data',function(chunk) {
bytes += chunk.length;
});
res.on('end',function() {
allResults[peer] = {
start: connectionStartTime,
end: Date.now(),
error: null,
timedOut: timedOut,
bytes: bytes
};
return next(null);
});
}).on('error',function(e) {
allResults[peer] = {
start: connectionStartTime,
end: Date.now(),
error: e.toString(),
timedOut: timedOut,
bytes: 0
};
return next(null);
}));
},function(err) {
if (!timedOut)
clearTimeout(endOfTestTimer);
return callback(allResults);
});
};
function doTestsAndReport()
{
registerAndGetPeers(function(err,peers) {
if (err) {
console.error('WARNING: skipping test: unable to contact or query server: '+err.toString());
} else {
performTestOnAllPeers(peers,function(results) {
var submit = http.request({
host: SERVER_HOST,
port: SERVER_PORT,
path: '/'+thisAgentId,
method: 'POST'
},function(res) {
}).on('error',function(e) {
console.error('WARNING: unable to submit results to server: '+err.toString());
});
submit.write(JSON.stringify(results));
submit.end();
});
}
});
};
*/
// Agents just serve up a test payload
app.get('/',function(req,res) { return res.status(200).send(payload); });