@@ -26,6 +26,7 @@ function attachServer(server, clientHandler) {
26
26
} ) ) . on ( 'connection' , function ( ws ) {
27
27
clientHandler ( wsStream ( ws ) ) ;
28
28
} ) ;
29
+ return server ;
29
30
}
30
31
31
32
function createWebSocketServer ( clientHandler ) {
@@ -69,7 +70,10 @@ module.exports = function(serverConfig, sharedConfig, clientStreamHandler){
69
70
70
71
var server ;
71
72
72
- if ( config . protocol == 'tcp' ) {
73
+ if ( config . attach ) {
74
+ server = attachServer ( config . attach , clientStreamHandler ) ;
75
+ server . _css_exclude = true ;
76
+ } else if ( config . protocol == 'tcp' ) {
73
77
server = createServer ( clientStreamHandler ) ;
74
78
} else if ( config . protocol == 'ssl' ) {
75
79
server = createSecureServer ( config . ssl , clientStreamHandler ) ;
@@ -90,20 +94,25 @@ module.exports = function(serverConfig, sharedConfig, clientStreamHandler){
90
94
listen : function ( callback ) {
91
95
async . mapSeries ( Object . keys ( servers ) , function ( id , cb ) {
92
96
var server = servers [ id ] ;
97
+ if ( server . _css_exclude ) return cb ( ) ;
93
98
server . listen ( server . _css_port , server . _css_host , function ( ) {
94
99
enableDestroy ( server ) ;
95
- cb ( ) ;
100
+ return cb ( ) ;
96
101
} ) ;
97
102
} , callback || function ( ) { } ) ;
98
103
} ,
99
104
close : function ( callback ) {
100
105
async . mapSeries ( Object . keys ( servers ) , function ( id , cb ) {
101
- servers [ id ] . close ( cb ) ;
106
+ var server = servers [ id ] ;
107
+ if ( server . _css_exclude ) return cb ( ) ;
108
+ server . close ( cb ) ;
102
109
} , callback || function ( ) { } ) ;
103
110
} ,
104
111
destroy : function ( callback ) {
105
112
async . mapSeries ( Object . keys ( servers ) , function ( id , cb ) {
106
- servers [ id ] . destroy ( cb ) ;
113
+ var server = servers [ id ] ;
114
+ if ( server . _css_exclude ) return cb ( ) ;
115
+ server . destroy ( cb ) ;
107
116
} , callback || function ( ) { } ) ;
108
117
}
109
118
} ;
0 commit comments