Skip to content

Commit

Permalink
fix: overwrite stream fields after handshake (#1305)
Browse files Browse the repository at this point in the history
Instead of creating a new stream objects instead just overwrite the duplex fields with ones from the mss stream.
  • Loading branch information
achingbrain authored Sep 8, 2022
1 parent d63e081 commit 43b0418
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 14 deletions.
2 changes: 1 addition & 1 deletion examples/delegated-routing/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"@libp2p/delegated-content-routing": "^2.0.1",
"@libp2p/delegated-peer-routing": "^2.0.1",
"@libp2p/kad-dht": "^3.0.0",
"@libp2p/mplex": "^5.0.0",
"@libp2p/mplex": "^5.2.1",
"@libp2p/webrtc-star": "^3.0.0",
"@libp2p/websockets": "^3.0.0",
"react": "^17.0.2",
Expand Down
2 changes: 1 addition & 1 deletion examples/libp2p-in-the-browser/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"dependencies": {
"@chainsafe/libp2p-noise": "^8.0.0",
"@libp2p/bootstrap": "^2.0.0",
"@libp2p/mplex": "^5.0.0",
"@libp2p/mplex": "^5.2.1",
"@libp2p/webrtc-star": "^3.0.0",
"@libp2p/websockets": "^3.0.0",
"libp2p": "../../"
Expand Down
2 changes: 1 addition & 1 deletion examples/webrtc-direct/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"@libp2p/webrtc-direct": "^2.0.0",
"@chainsafe/libp2p-noise": "^8.0.0",
"@libp2p/bootstrap": "^2.0.0",
"@libp2p/mplex": "^5.0.0",
"@libp2p/mplex": "^5.2.1",
"libp2p": "../../",
"wrtc": "^0.4.7"
},
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@
"@libp2p/interop": "^2.0.0",
"@libp2p/kad-dht": "^3.0.4",
"@libp2p/mdns": "^3.0.0",
"@libp2p/mplex": "^5.0.0",
"@libp2p/mplex": "^5.2.1",
"@libp2p/pubsub": "^3.0.1",
"@libp2p/tcp": "^3.0.5",
"@libp2p/topology": "^3.0.0",
Expand Down
17 changes: 7 additions & 10 deletions src/upgrader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -440,20 +440,17 @@ export class DefaultUpgrader extends EventEmitter<UpgraderEvents> implements Upg
throw err
}

muxedStream.stat.protocol = protocol

// If a protocol stream has been successfully negotiated and is to be passed to the application,
// the peerstore should ensure that the peer is registered with that protocol
this.components.getPeerStore().protoBook.add(remotePeer, [protocol]).catch(err => log.error(err))

return {
...muxedStream,
...stream,
stat: {
...muxedStream.stat,
protocol
}
}
// after the handshake the returned stream can have early data so override
// the souce/sink
muxedStream.source = stream.source
muxedStream.sink = stream.sink
muxedStream.stat.protocol = protocol

return muxedStream
} catch (err: any) {
log.error('could not create new stream', err)

Expand Down

0 comments on commit 43b0418

Please sign in to comment.