mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-05 05:15:48 +00:00
emit not RippledNotInitializedError if server doesn't have any completed ledgers on connect
27 lines
570 B
JavaScript
27 lines
570 B
JavaScript
'use strict'; // eslint-disable-line
|
|
|
|
const net = require('net');
|
|
|
|
// using a free port instead of a constant port enables parallelization
|
|
function getFreePort() {
|
|
return new Promise((resolve, reject) => {
|
|
const server = net.createServer();
|
|
let port;
|
|
server.on('listening', function() {
|
|
port = server.address().port;
|
|
server.close();
|
|
});
|
|
server.on('close', function() {
|
|
resolve(port);
|
|
});
|
|
server.on('error', function(error) {
|
|
reject(error);
|
|
});
|
|
server.listen(0);
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
getFreePort
|
|
};
|