general_pub_sub

A general use, fast, and flexible PubSub implementation

9 releases

0.1.0 May 6, 2021
0.0.8 May 6, 2021

GPL-3.0-or-later

21KB
155 lines

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

General Pub Sub

A fast, flexible, general use Pub Sub for Rust.
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

PubSub is an increasingly commonly used pattern for scaling out applications. However, there isn't a canonical library for implementing PubSub in Rust.

All of the pros / cons of PubSub are beyond the scope of this readme, but the basic gist can be found on the Publish-Subscribe Pattern Wikipedia Page.

My goal with this library is to provide an implementation that is, above all, fast, and is also flexible and easy to use.

Getting Started

Installation

Add the following to your cargo.toml

[dependencies]
general_pub_sub = "<version>"

Alternatively, you could use cargo-edit.

cargo install cargo-edit
cargo add general_pub_sub

Please refer to the crates.io documentation on dependencies for more details.

Usage

Examples of how to utilize PubSub, please refer to the examples in the source code.

All examples can be executed by cloning the repo and running

cargo run --example <name>

for example, to run the networking.rs example:

cargo run --example networking

For more examples and documentation of the API, please refer to the Documentation

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNU GPL v3 License. See LICENSE for more information.

Contact

Dustin Ewan - dustineewan@gmail.com

Project Link: https://github.com/dustinewan/rust-general_pub_sub

Acknowledgements

Dependencies

~445KB