js-waku/packages/core
Danish Arora 6f09fbf4ed
feat: use the lowest latency peer for protocols (#1540)
* maintain pings in a hashmap

* convert `KeepAliveManager` into a singleton

* chore: fix an unrelated cyclic dependency error

* update `selectPeerForProtocol` to return peer with the lowest latency

* use the new KeepAliveManager API

* use the new API for `selectPeerForProtocol`

* add tests

* use PeerData to hold the ping instead of a new variable

* improve tests for readability

* move back KeepAliveManager from singleton

* reenable all tests

* minor improvements

* improve error handling

* convert .then() syntax to async/await
2023-09-08 21:36:55 +05:30
..
src feat: use the lowest latency peer for protocols (#1540) 2023-09-08 21:36:55 +05:30
.eslintrc.cjs chore: upgrade libp2p and related deps (#1482) 2023-08-16 20:18:13 +05:30
.mocharc.json chore: remove usage of jsdom 2023-02-10 19:44:59 +11:00
CHANGELOG.md chore: release master (#1444) 2023-08-02 13:02:57 +02:00
README.md chore: fix Discord invite link 2023-03-20 16:06:50 +11:00
karma.conf.cjs chore: upgrade libp2p and related deps (#1482) 2023-08-16 20:18:13 +05:30
package.json chore(deps)(deps-dev): bump rollup from 3.28.0 to 3.29.0 (#1545) 2023-09-08 00:12:39 +05:30
rollup.config.js chore: upgrade libp2p and related deps (#1482) 2023-08-16 20:18:13 +05:30
tsconfig.dev.json chore: merge tsconfig 2022-12-02 15:54:30 +11:00
tsconfig.json chore: merge tsconfig 2022-12-02 15:54:30 +11:00

README.md

NPM

Discord chat

@waku/core

Core components of js-waku, a TypeScript implementation of the Waku v2 protocol.

Documentation

API Documentation can also be generated locally:

git clone https://github.com/waku-org/js-waku.git
cd js-waku
npm install
npm run doc

Changelog

Release changelog can be found in CHANGELOG.md.

Bugs, Questions & Features

If you encounter any bug or would like to propose new features, feel free to open an issue.

For general discussion, get help or latest news, join #js-waku on Vac Discord or the Waku Telegram Group.

Roadmap

You can track progress on the project board.

Contributing

See CONTRIBUTING.md.

License

Licensed and distributed under either of

or

at your option. These files may not be copied, modified, or distributed except according to those terms.