Alex Potsides a1220d22f5
fix: time out slow reads (#1227)
There are a few places in the codebase where we send/receive data from the network without timeouts/abort controllers which means the user has to wait for the underlying socket to timeout which can take a long time depending on the platform, if at all.

This change ensures we can time out while running identify (both flavours), ping and fetch and adds tests to ensure there are no regressions.
2022-05-25 18:15:21 +01:00
..
2022-03-28 14:30:27 +01:00
2021-11-26 16:00:47 +00:00
2022-05-25 18:15:21 +01:00
2022-03-28 14:30:27 +01:00
2022-03-28 14:30:27 +01:00

Webrtc-direct example

An example that uses js-libp2p-webrtc-direct for connecting nodejs libp2p and browser libp2p clients. To run the example:

0. Run a nodejs libp2p listener

When in the root folder of this example, type node listener.js in terminal. You should see an address that listens for incoming connections. Below is just an example of such address. In your case the suffix hash (peerId) will be different.

$ node listener.js
Listening on:
/ip4/127.0.0.1/tcp/9090/http/p2p-webrtc-direct/p2p/QmUKQCzEUhhhobcNSrXU5uzxTqbvF1BjMCGNGZzZU14Kgd

1. Prepare a browser libp2p dialer

Confirm that the above address is the same as the field list in public/dialer.js:

    peerDiscovery: {
      new Bootstrap({
        // paste the address into `list`
        list: ['/ip4/127.0.0.1/tcp/9090/http/p2p-webrtc-direct/p2p/QmUKQCzEUhhhobcNSrXU5uzxTqbvF1BjMCGNGZzZU14Kgd']
      })
    }

2. Run a browser libp2p dialer

When in the root folder of this example, type npm start in terminal. You should see an address where you can browse the running client. Open this address in your browser. In console logs you should see logs about successful connection with the node client. In the output of node client you should see a log message about successful connection as well.