@@ -32,28 +32,19 @@ module.exports = function (dir, opts) {
3232 pump ( socket , client . createRpcStream ( { ref : socket } ) , socket , function ( ) {
3333 if ( ! client . isOpen ( ) ) return ;
3434
35- var db = level ( dir , opts ) ;
35+ var db = level ( dir , opts , onopen ) ;
3636
37- db . on ( 'error' , onerror ) ;
38- db . on ( 'open' , onopen ) ;
39-
40- function onerror ( err ) {
41- db . removeListener ( 'open' , onopen ) ;
42- if ( err . type === 'OpenError' ) {
37+ function onopen ( err ) {
38+ if ( err ) {
4339 if ( connected ) return tryConnect ( ) ;
44- setTimeout ( tryConnect , 100 ) ;
40+ return setTimeout ( tryConnect , 100 ) ;
4541 }
46- }
4742
48- function onopen ( ) {
49- db . removeListener ( 'error' , onerror ) ;
5043 fs . unlink ( sockPath , function ( err ) {
5144 if ( err && err . code !== 'ENOENT' ) return db . emit ( 'error' , err ) ;
5245 if ( ! client . isOpen ( ) ) return ;
5346
5447 var sockets = [ ] ;
55- var down = client . db ;
56-
5748 var server = net . createServer ( function ( sock ) {
5849 if ( sock . unref ) sock . unref ( ) ;
5950 sockets . push ( sock ) ;
@@ -62,29 +53,27 @@ module.exports = function (dir, opts) {
6253 } ) ;
6354 } ) ;
6455
65- client . db = db . db ;
6656 client . close = shutdown ;
6757 client . emit ( 'leader' ) ;
68- down . forward ( db . db ) ;
58+ client . forward ( db ) ;
6959
7060 server . listen ( sockPath , onlistening ) ;
7161
7262 function shutdown ( cb ) {
7363 sockets . forEach ( function ( sock ) {
7464 sock . destroy ( ) ;
7565 } ) ;
76- server . on ( ' close' , function ( ) {
66+ server . close ( function ( ) {
7767 db . close ( cb ) ;
7868 } ) ;
79- server . close ( ) ;
8069 }
8170
8271 function onlistening ( ) {
8372 if ( server . unref ) server . unref ( ) ;
84- if ( down . isFlushed ( ) ) return ;
73+ if ( client . isFlushed ( ) ) return ;
8574
8675 var sock = net . connect ( sockPath ) ;
87- pump ( sock , down . createRpcStream ( ) , sock ) ;
76+ pump ( sock , client . createRpcStream ( ) , sock ) ;
8877 client . once ( 'flush' , function ( ) {
8978 sock . destroy ( ) ;
9079 } ) ;
0 commit comments