@@ -308,69 +308,65 @@ export default Vue.extend({
308308 let responseCount = 0
309309
310310 while (reply !== RecvErr .Disconnected && responseCount < 10 ) { // Limit responses to prevent infinite loops
311- if (reply === RecvErr .MalformedReply ) {
312- console .warn (' [Zenoh Network] MalformedReply from router query' )
313- } else {
314- const resp = reply .result ()
315- if (resp instanceof Sample ) {
316- const sample: Sample = resp
317- responseCount += 1
318-
319- try {
320- const payload = sample .payload ().toString ()
321- console .debug (' [Zenoh Network] Router payload:' , payload )
322-
323- const data = JSON .parse (payload )
324-
325- // Add router node
326- const zid = data .zid || ' unknown-router'
327- const metadata = data .metadata || {}
328- this .networkData .nodes .push ({
329- id: zid ,
330- whatami: ' router' ,
331- metadata ,
332- })
333-
334- // Add connected sessions
335- if (data .sessions && Array .isArray (data .sessions )) {
336- for (const sess of data .sessions ) {
337- const peer = sess .peer || ' unknown-peer'
338- const whatami = sess .whatami || ' unknown'
339-
340- let linkProtocols = ' unknown'
341- try {
342- if (sess .links && Array .isArray (sess .links )) {
343- // eslint-disable-next-line @typescript-eslint/no-explicit-any
344- linkProtocols = sess .links .map ((link : any ) => {
345- if (typeof link === ' string' ) {
346- return link .split (' /' )[0 ]
347- }
348- return link .src ?.split (' /' )[0 ] || ' unknown'
349- }).join (' ,' )
350- }
351- } catch (error ) {
352- console .warn (' Error parsing link protocols:' , error )
311+ const resp = reply .result ()
312+ if (resp instanceof Sample ) {
313+ const sample: Sample = resp
314+ responseCount += 1
315+
316+ try {
317+ const payload = sample .payload ().toString ()
318+ console .debug (' [Zenoh Network] Router payload:' , payload )
319+
320+ const data = JSON .parse (payload )
321+
322+ // Add router node
323+ const zid = data .zid || ' unknown-router'
324+ const metadata = data .metadata || {}
325+ this .networkData .nodes .push ({
326+ id: zid ,
327+ whatami: ' router' ,
328+ metadata ,
329+ })
330+
331+ // Add connected sessions
332+ if (data .sessions && Array .isArray (data .sessions )) {
333+ for (const sess of data .sessions ) {
334+ const peer = sess .peer || ' unknown-peer'
335+ const whatami = sess .whatami || ' unknown'
336+
337+ let linkProtocols = ' unknown'
338+ try {
339+ if (sess .links && Array .isArray (sess .links )) {
340+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
341+ linkProtocols = sess .links .map ((link : any ) => {
342+ if (typeof link === ' string' ) {
343+ return link .split (' /' )[0 ]
344+ }
345+ return link .src ?.split (' /' )[0 ] || ' unknown'
346+ }).join (' ,' )
353347 }
348+ } catch (error ) {
349+ console .warn (' Error parsing link protocols:' , error )
350+ }
354351
355- this .networkData .nodes .push ({
356- id: peer ,
357- whatami ,
358- })
352+ this .networkData .nodes .push ({
353+ id: peer ,
354+ whatami ,
355+ })
359356
360- this .networkData .edges .push ({
361- source: zid ,
362- target: peer ,
363- protocol: linkProtocols ,
364- })
365- }
357+ this .networkData .edges .push ({
358+ source: zid ,
359+ target: peer ,
360+ protocol: linkProtocols ,
361+ })
366362 }
367- } catch (parseError ) {
368- console .error (' [Zenoh Network] Error parsing router response:' , parseError )
369363 }
370- } else {
371- const replyError: ReplyError = resp
372- console .error (' [Zenoh Network] Router query error:' , replyError .payload ().toString ())
364+ } catch (parseError ) {
365+ console .error (' [Zenoh Network] Error parsing router response:' , parseError )
373366 }
367+ } else {
368+ const replyError: ReplyError = resp
369+ console .error (' [Zenoh Network] Router query error:' , replyError .payload ().toString ())
374370 }
375371 reply = await receiveQueryReply (receiver )
376372 }
@@ -393,31 +389,27 @@ export default Vue.extend({
393389 let responseCount = 0
394390
395391 while (reply !== RecvErr .Disconnected && responseCount < 10 ) { // Limit responses
396- if (reply === RecvErr .MalformedReply ) {
397- console .warn (' [Zenoh Network] MalformedReply from peer query' )
398- } else {
399- const resp = reply .result ()
400- if (resp instanceof Sample ) {
401- const sample: Sample = resp
402- responseCount += 1
403-
404- try {
405- const payload = sample .payload ().toString ()
406- const data = JSON .parse (payload )
407- const peerId = data .zid || data .id || ' unknown-peer'
408- if (! this .networkData .nodes .find ((n ) => n .id === peerId )) {
409- this .networkData .nodes .push ({
410- id: peerId ,
411- whatami: ' peer' ,
412- })
413- }
414- } catch (parseError ) {
415- console .error (' [Zenoh Network] Error parsing peer response:' , parseError )
392+ const resp = reply .result ()
393+ if (resp instanceof Sample ) {
394+ const sample: Sample = resp
395+ responseCount += 1
396+
397+ try {
398+ const payload = sample .payload ().toString ()
399+ const data = JSON .parse (payload )
400+ const peerId = data .zid || data .id || ' unknown-peer'
401+ if (! this .networkData .nodes .find ((n ) => n .id === peerId )) {
402+ this .networkData .nodes .push ({
403+ id: peerId ,
404+ whatami: ' peer' ,
405+ })
416406 }
417- } else {
418- const replyError: ReplyError = resp
419- console .error (' [Zenoh Network] Peer query error:' , replyError .payload ().toString ())
407+ } catch (parseError ) {
408+ console .error (' [Zenoh Network] Error parsing peer response:' , parseError )
420409 }
410+ } else {
411+ const replyError: ReplyError = resp
412+ console .error (' [Zenoh Network] Peer query error:' , replyError .payload ().toString ())
421413 }
422414 reply = await receiveQueryReply (receiver )
423415 }
@@ -445,11 +437,6 @@ export default Vue.extend({
445437 return null
446438 }
447439
448- if (reply === RecvErr .MalformedReply ) {
449- console .warn (` [Zenoh Network] MalformedReply from ${keyexpr } ` )
450- return null
451- }
452-
453440 const resp = reply .result ()
454441 if (resp instanceof Sample ) {
455442 const sample: Sample = resp
0 commit comments