revoltchat / backend

Monorepo for Revolt backend services.
https://developers.revolt.chat/api/
Other
1.23k stars 140 forks source link

feat(bonfire): Replace async-std,async-tungstenite,async-channel. #374

Open Drevoed opened 1 month ago

Drevoed commented 1 month ago

This PR tries to modernize the bonfire service.

Async-std is an unmaintained runtime.

image

fastwebsockets is a much faster implementation of websockets standard compared to async-tungstenite. Possible choice could be tokio-tungstenite, but it is still slower, albeit easier to work with.

Using tokio also allows us to later use much of the useful features, such as out-of-the box tracing integration.

This PR is draft, will mark as ready when benchmarks for bonfire are ready.

Please make sure to check the following tasks before opening and submitting a PR