SignalRs is Rust's implementation of SignalR protocol.
SignalR is an open-source protocol that simplifies adding real-time web functionality to apps. Real-time web functionality enables server-side code to push content to clients instantly.
This library is an open source implementation of this protocol's client in Rust.
Originally developed at Microsoft in .NET ecosystem. Read more about it in offical documentation
.
In technical terms it is a RPC framework with bidirectional streaming capabilities.
See docs.rs or examples folders of appropriate crates to see how to use it.
It allows bidirectional communication with ergonimic programming model. In cases where real-time communication is required it provides an easy to use framework, abstracting underlying transport layer. Getting WebSockets right is not an easy task.
Since SignalR originated in .NET ecosystem, there are services that expose SignalR endpoints. This library allows easy integration with them. This might be especially true for internal tooling at companies that do mostly C#. Truth to be told, it was a reason this library was created in the first place.
This library is not feature-full and is not battle-tested. It is suitable for internal tooling and personal projects at the moment.
If you happen to find a bug or missing feature - please file an issue.
Client currently supports:
Client does not support (yet):
To view source code of the client see signalrs-client
crate in this repository.
Server is a work in progress. It is pretty much advanced and runs, but is not released yet.
To view its source code see signalrs-next
crate in this repository.
Internals of the protocol were implemented based on following: