| <html> |
| <head> |
| <script src="worker_utils.js"></script> |
| </head> |
| <body> |
| <div id=result></div> |
| <script> |
| function log(message) |
| { |
| document.getElementById("result").innerHTML += message + "<br>"; |
| } |
| |
| var url = document.location.toString(); |
| var num_workers = parseInt(url.substr(url.search("count=") + 6)); |
| var client_id = parseInt(url.substr(url.search("client_id=") + 10)); |
| |
| if (!num_workers) { |
| log("No count= parameter provided - test aborted"); |
| } |
| |
| for (var i = 0; i < num_workers ; ++i) { |
| createWorker(i); |
| } |
| |
| var workers_created = 0; |
| function createWorker(i) { |
| var worker_id = !!client_id ? client_id * num_workers + i : i; |
| var worker = new SharedWorker("worker_common.js?id=" + worker_id); |
| worker.port.postMessage("eval num_clients"); |
| worker.port.onmessage = function(event) { |
| workers_created++; |
| log("worker " + worker_id + " started - num_clients = " + event.data); |
| if (workers_created == num_workers) { |
| // created the last worker |
| log("SUCCESS: all workers created"); |
| onSuccess(); |
| } |
| } |
| } |
| </script> |
| |
| </body> |
| </html> |