#pub-sub #subscribe #host #subscriber #publisher #publish #networking

bin+lib post

A Publish Subscribe library allowing multiple hosts to register, and subscribe services accross an IP network

1 unstable release

0.1.0 Sep 22, 2020
0.0.1-alpha.1 Oct 31, 2020

#14 in #publisher

MIT license

52KB
1.5K SLoC

post

A Publish Subscribe library allowing multiple hosts to register, and subscribe services accross an IP network.

Crates.io GitHub Workflow Status (branch) Crates.io

Goals:

  • Offload tasks to the network where possible.
  • Allow trade offs between latency and reliability to be determined by subscribers.
  • Allow for the discovery of publishers.

Supported Rust Version

Tested with the latest stable as of the commit date of the latest commit.

License

This project is licensed under the MIT license.

Examples

Running exmples

  • Start the meetup server. This provides a central location for publishers and subscribers to find each other. A Subscriber can connect to a Publisher without it.
    cargo run --bin post-meetup -- --bind 127.0.0.1:8080
    
  • Start the publisher:
    cargo run --example stdin_publisher -- --host 127.0.0.1 --port 8081 --url http://127.0.0.1:8080
    
  • Start the subscriber:
    cargo run --example stdout_subscriber -- --url http://127.0.0.1:8080
    
  • Text typed on the publisher is now being sent to the subscriber

Dependencies

~14–24MB
~328K SLoC