UNPKG

locker

Version:

Full-featured client for locker lock server with timeouts support

59 lines (49 loc) 1.81 kB
(function() { var Locker = require("./../index"), locker = new Locker(4545, "127.0.0.1"), name = "five", wait = 1500, timeout = 200, work = 190, requests = 10, iteration = 0; console.log("Setting up reset listener"); locker.on("reset", function() { console.log("Reset happened (is server running?)"); }); console.log("Setting up errror listener"); locker.on("error", function(error) { console.log("Catched error:", error); }); function testLock() { var started = new Date().getTime(), current = iteration; locker.locked(name, wait, timeout, function(error, callback) { var acquired = new Date().getTime(); if (error) { console.log("[" + current + "] Lock failed after " + (acquired - started) + "ms of waiting"); } else { console.log("[" + current + "] Successful lock after " + (acquired - started) + "ms of waiting"); } if (!error) { setTimeout(function() { callback(); }, work); } }); }; console.log(); console.log("Starting test:"); console.log(" key: " + name); console.log(" wait time: " + wait + "ms"); console.log(" lock timeout: " + timeout + "ms"); console.log(" time under lock: " + work + "ms"); console.log("time to release lock: " + (timeout - work) + "ms (up to)"); console.log(" amount of requests: " + requests); console.log(); for (; iteration < requests; iteration++) { testLock(); } console.log("Lock requests finished, waiting to end."); console.log() })();