@@ -151,28 +151,27 @@ Server.prototype._onHttpRequest = function (req, res) {
151151 case 'started' :
152152 if ( peer ) {
153153 warning = 'unexpected `started` event from peer that is already in swarm'
154+ break
155+ }
156+
157+ if ( Number ( params . left ) === 0 ) {
158+ swarm . complete += 1
154159 } else {
155- var left = Number ( params . left )
156-
157- if ( left === 0 ) {
158- swarm . complete += 1
159- } else {
160- swarm . incomplete += 1
161- }
162-
163- peer = swarm . peers [ addr ] = {
164- ip : ip ,
165- port : port ,
166- peerId : peerId
167- }
168- self . emit ( 'start' , addr )
160+ swarm . incomplete += 1
169161 }
170162
163+ swarm . peers [ addr ] = {
164+ ip : ip ,
165+ port : port ,
166+ peerId : peerId
167+ }
168+ self . emit ( 'start' , addr )
171169 break
172170
173171 case 'stopped' :
174172 if ( ! peer ) {
175- return error ( 'unexpected `stopped` event from peer that is not in swarm' )
173+ warning = 'unexpected `stopped` event from peer that is not in swarm'
174+ break
176175 }
177176
178177 if ( peer . complete ) {
@@ -182,29 +181,31 @@ Server.prototype._onHttpRequest = function (req, res) {
182181 }
183182
184183 swarm . peers [ addr ] = null
185-
186184 self . emit ( 'stop' , addr )
187185 break
188186
189187 case 'completed' :
190188 if ( ! peer ) {
191- return error ( 'unexpected `completed` event from peer that is not in swarm' )
189+ warning = 'unexpected `completed` event from peer that is not in swarm'
190+ break
192191 }
193192 if ( peer . complete ) {
194193 warning = 'unexpected `completed` event from peer that is already marked as completed'
194+ break
195195 }
196- peer . complete = true
197196
198197 swarm . complete += 1
199198 swarm . incomplete -= 1
200199
200+ peer . complete = true
201201 self . emit ( 'complete' , addr )
202202 break
203203
204204 case '' : // update
205205 case undefined :
206206 if ( ! peer ) {
207- return error ( 'unexpected `update` event from peer that is not in swarm' )
207+ warning = 'unexpected `update` event from peer that is not in swarm'
208+ break
208209 }
209210
210211 self . emit ( 'update' , addr )
@@ -341,7 +342,8 @@ Server.prototype._onUdpRequest = function (msg, rinfo) {
341342 switch ( event ) {
342343 case common . EVENTS . started :
343344 if ( peer ) {
344- return error ( 'unexpected `started` event from peer that is already in swarm' )
345+ warning = 'unexpected `started` event from peer that is already in swarm'
346+ break
345347 }
346348
347349 if ( left === 0 ) {
@@ -350,18 +352,18 @@ Server.prototype._onUdpRequest = function (msg, rinfo) {
350352 swarm . incomplete += 1
351353 }
352354
353- peer = swarm . peers [ addr ] = {
355+ swarm . peers [ addr ] = {
354356 ip : ip ,
355357 port : port ,
356358 peerId : peerId
357359 }
358360 self . emit ( 'start' , addr )
359-
360361 break
361362
362363 case common . EVENTS . stopped :
363364 if ( ! peer ) {
364- return error ( 'unexpected `stopped` event from peer that is not in swarm' )
365+ warning = 'unexpected `stopped` event from peer that is not in swarm'
366+ break
365367 }
366368
367369 if ( peer . complete ) {
@@ -371,35 +373,37 @@ Server.prototype._onUdpRequest = function (msg, rinfo) {
371373 }
372374
373375 swarm . peers [ addr ] = null
374-
375376 self . emit ( 'stop' , addr )
376377 break
377378
378379 case common . EVENTS . completed :
379380 if ( ! peer ) {
380- return error ( 'unexpected `completed` event from peer that is not in swarm' )
381+ warning = 'unexpected `completed` event from peer that is not in swarm'
382+ break
381383 }
382384 if ( peer . complete ) {
383385 warning = 'unexpected `completed` event from peer that is already marked as completed'
386+ break
384387 }
385- peer . complete = true
386388
387389 swarm . complete += 1
388390 swarm . incomplete -= 1
389391
392+ peer . complete = true
390393 self . emit ( 'complete' , addr )
391394 break
392395
393396 case common . EVENTS . update : // update
394397 if ( ! peer ) {
395- return error ( 'unexpected `update` event from peer that is not in swarm' )
398+ warning = 'unexpected `update` event from peer that is not in swarm'
399+ break
396400 }
397401
398402 self . emit ( 'update' , addr )
399403 break
400404
401405 default :
402- return error ( 'unexpected event: ' + event ) // early return
406+ return error ( 'invalid event' ) // early return
403407 }
404408
405409 // send peers
0 commit comments