Skip to content

Commit

Permalink
Upgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
vweevers committed Nov 4, 2019
1 parent e177c79 commit 17d03fb
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 25 deletions.
27 changes: 8 additions & 19 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,28 +32,19 @@ module.exports = function (dir, opts) {
pump(socket, client.createRpcStream({ref: socket}), socket, function () {
if (!client.isOpen()) return;

var db = level(dir, opts);
var db = level(dir, opts, onopen);

db.on('error', onerror);
db.on('open', onopen);

function onerror (err) {
db.removeListener('open', onopen);
if (err.type === 'OpenError') {
function onopen (err) {
if (err) {
if (connected) return tryConnect();
setTimeout(tryConnect, 100);
return setTimeout(tryConnect, 100);
}
}

function onopen () {
db.removeListener('error', onerror);
fs.unlink(sockPath, function (err) {
if (err && err.code !== 'ENOENT') return db.emit('error', err);
if (!client.isOpen()) return;

var sockets = [];
var down = client.db;

var server = net.createServer(function (sock) {
if (sock.unref) sock.unref();
sockets.push(sock);
Expand All @@ -62,29 +53,27 @@ module.exports = function (dir, opts) {
});
});

client.db = db.db;
client.close = shutdown;
client.emit('leader');
down.forward(db.db);
client.forward(db);

server.listen(sockPath, onlistening);

function shutdown (cb) {
sockets.forEach(function (sock) {
sock.destroy();
});
server.on('close', function () {
server.close(function () {
db.close(cb);
});
server.close();
}

function onlistening () {
if (server.unref) server.unref();
if (down.isFlushed()) return;
if (client.isFlushed()) return;

var sock = net.connect(sockPath);
pump(sock, down.createRpcStream(), sock);
pump(sock, client.createRpcStream(), sock);
client.once('flush', function () {
sock.destroy();
});
Expand Down
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
"main": "index.js",
"dependencies": {
"has": "^1.0.0",
"level": "^1.4.0",
"multileveldown": "^2.1.1",
"pump": "^1.0.0"
"level": "^6.0.0",
"multileveldown": "^3.0.0",
"pump": "^3.0.0"
},
"devDependencies": {
"tape": "^3.0.0",
"bytewise": "~0.7.1",
"bytewise": "^1.1.0",
"level-sublevel": "^6.3.11",
"osenv": "~0.1.0"
"osenv": "~0.1.0",
"tape": "^4.11.0"
},
"scripts": {
"test": "tape test/*.js"
Expand Down

0 comments on commit 17d03fb

Please sign in to comment.