aboutsummaryrefslogtreecommitdiff
path: root/p2p/src/discovery
Commit message (Collapse)AuthorAgeFiles
* p2p: Major refactoring of the handshake protocolhozan232024-07-153
| | | | | | | Introduce a new protocol InitProtocol which can be used as the core protocol for initializing a connection with a peer. Move the handshake logic from the PeerPool module to the protocols directory and build a handshake protocol that implements InitProtocol trait.
* use shadown variables to name clones and place them between {} when spawning ↵hozan232024-06-293
| | | | new tasks
* Remove redundant type aliaseshozan232024-06-271
|
* Improve async channels error handling and replace unbounded channels with ↵hozan232024-06-271
| | | | | | | | | | | bounded channels Remove all unbounded channels to prevent unbounded memory usage and potential crashes. Use `FuturesUnordered` for sending to multiple channels simultaneously. This prevents the sending loop from blocking if one channel is blocked, and helps handle errors properly.
* p2p/backend: add methods to return inbound/outbound connected peershozan232024-06-241
|
* p2p/monitor: use struct instead of enum for monitor eventshozan232024-06-242
|
* p2p: fix cargo clippy warningshozan232024-06-011
|
* p2p: rename connection.rs to conn_queue.rshozan232024-05-251
|
* p2p: wrap the buckets with mutex in RoutingTablehozan232024-05-233
|
* p2p: add peer pool logs and discovery logs to example/monitor.rshozan232024-05-232
|
* p2p: monitor system use core::EventSys instead of pubsub patternhozan232024-05-222
|
* add support for tokio & improve net crate apihozan232024-05-193
|
* core: minor modification to TaskGroup apihozan232024-03-212
|
* core: add the option to create a new task group without providing anhozan232024-03-203
| | | | executor & remove GlobalExecutor type
* net: major cleanup and improvement of the crate apihozan232024-03-131
|
* net: pass `Endpoint` to dial and listen functionshozan232024-03-131
|
* Ensure uniform usage of the name `karyon` across all fileshozan232023-12-023
|
* p2p/discovery: Select the first 8 entries from each bucket during thehozan232023-11-301
| | | | | | | | refresh process Instead of selecting random entries during the refresh process, choose the fist 8 entries from each bucket in the routing table. This ensures that only the oldest entries are refreshed.
* core: Move `key_pair` to the `crypto` module and make it a Cargo feature.hozan232023-11-292
|
* implement TLS for inbound and outbound connectionshozan232023-11-283
|
* p2p: Improve error handling during handshake:hozan232023-11-222
| | | | | | | | | | Introduce a new entry status, INCOMPATIBLE_ENTRY. Entries with this status will not increase the failure attempts, instead, they will persist in the routing table until replaced by a new peer. This feature is useful for seeding and the lookup process. Add a boolean value to the VerAck message to indicate whether the version is accepted or not.
* net: improve Conn APIhozan232023-11-191
|
* p2p: avoid doing too much locking and unlocking for the routing table mutexhozan232023-11-172
|
* improve the TaskGroup APIhozan232023-11-153
| | | | | | | | | | | the TaskGroup now holds an Executor instead of passing it when calling its spawn method also, define a global executor `Executor<'static>` and use static lifetime instead of a lifetime placeholder This improvement simplify the code for spawning a new task. There is no need to pass the executor around.
* p2p: remove net directoryhozan232023-11-122
|
* rename crateshozan232023-11-093