nim-libp2p
nim-libp2p copied to clipboard
libp2p implementation in Nim
Beside not being compatible with orc, they can introduce weird / unsafe behaviors. They seemed to be used only in places with a few bytes (worst case being private keys...
Revise and define edge cases for Connection methods. What should happen when the caller tries to write an empty byte seq, etc?
When passing an address like `/ip4/192.168.1.106/tcp/10634/p2p/16Uiu2HAmTaEoEpEFkrCKfU5srxYrgkgBz4e2LJDhdod4VwgH2DkC` to `connect`, it should succeed to connect and verify that the peer id matches the given on. Instead, the address gets dropped here because...
When a handler doesn't close a stream (per #762 or because it raises an exception or any other reason), in `mplex` it makes sense to send a `reset` to the...
In protocol handlers, there's a zoo of options with regards to closing the stream after handling the protocol request: * [example](https://github.com/status-im/nim-libp2p/blob/1de7508b64e29c2bcad7a393c36cf8390a8c50fe/examples/helloworld.nim#L20) says handler must `conn.close` * [identify](https://github.com/status-im/nim-libp2p/blob/1de7508b64e29c2bcad7a393c36cf8390a8c50fe/libp2p/protocols/identify.nim#L178) uses `closeWithEOF` *...
Create a prioritized list of steps to do before switching to a connected state, move identify to it, and let user put custom code in that list
Annotate `MultistreamSelect` with `{.async: (raises).}` and ensure that `handle` returns a `MultiStreamError` instead of `CatchableError` in the "invalid first message" case.
## Description Rename RPC's Message `topicIds` to `topicId`. Please, do look carefully into this one as I'm not sure how a well covered by tests is the repo, and my...
fixes: https://github.com/status-im/nim-libp2p/issues/1007