sukun
sukun
>I would have expected that B will stop waiting for SYNs if the connection from A->B succeeds. Same. I'm not sure what's happening in the kernel here. >Btw, the NewStream...
I'm confused how we can get Context Deadline exceeded(from NewStream) after the peer reported zero protocols. In [MintterHypermedia/mintter@playground/zero-protocols/backend/mttnet/connect.go#L86-L124](https://github.com/MintterHypermedia/mintter/blob/playground/zero-protocols/backend/mttnet/connect.go?rgh-link-date=2023-11-15T09%3A43%3A29Z#L86-L124), I see that the error on NewStream is not wrapped or printed...
Apologies for the delay here. I don't have the complete explanation of what's causing this, but my best guess currently is that the peer has gone away and is unresponsive....
As I understand, now you can open the streams so the only problem is that these peers have provided zero protocols in identify or potentially identify has failed. In the...
In particular, I'm interested in this line: https://github.com/libp2p/go-libp2p/blob/master/p2p/protocol/identify/id.go#L399C2-L399C2
> Failed to open stream: this makes us worried ``` stream-xxxx: transient: cannot reserve stream: resource limit exceeded ``` This happens for new streams that are pending protocol negotiation via...
This is not on the road map right now. However, https://docs.rs/libp2p/latest/libp2p/tutorials/hole_punching/index.html is a good introduction and maps well to the go implementation too.
You don't need to implemenent anything. If you run go-libp2p with EnableHolepunching option it'll hole punch when it can. If you can share more specific questions around what you do...
Can you run the relay host without the `WithInfiniteLimits` option NewStream won't wait for a hole punch if the relayed connection has no limits on the data exchanged.
@kt5ttk99 There is no problem here. At least no issues have been reported with the hole punching logic. The problem with there not being an example for people to test...