https://github.com/sile/ppg
Plumtree based Distributed Process Group
https://github.com/sile/ppg
distributed erlang plumtree process-group
Last synced: about 1 year ago
JSON representation
Plumtree based Distributed Process Group
- Host: GitHub
- URL: https://github.com/sile/ppg
- Owner: sile
- License: mit
- Created: 2015-12-20T20:14:27.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2017-08-10T00:48:42.000Z (almost 9 years ago)
- Last Synced: 2025-03-26T20:05:40.555Z (about 1 year ago)
- Topics: distributed, erlang, plumtree, process-group
- Language: Erlang
- Homepage:
- Size: 2.47 MB
- Stars: 17
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ppg
===
[](https://hex.pm/packages/ppg)
Plumtree based Process Group
Build
-----
```sh
$ git clone git@github.com:sile/ppg.git
$ cd ppg/
$ ./rebar3 compile
```
Usage Examples
--------------
```erlang
$ make start
> ppg:create(foo).
> ppg:which_groups().
[foo].
> {ok, Channel} = ppg:join(foo, self()).
> lists:foreach(fun (_) -> ppg:join(foo, self()) end, lists:seq(1, 4)).
> ppg:broadcast(Channel, bar).
> flush().
Shell got bar
Shell got bar
Shell got bar
Shell got bar
Shell got bar
ok
```
API
---
See [EDoc Documents](doc/README.md)
Reference
----------
- [Plumtree: Epidemic Broadcast Trees](http://www.gsd.inesc-id.pt/~ler/reports/srds07.pdf)
- [HyParView: a membership protocol for reliable gossip-based broadcast](http://www.gsd.inesc-id.pt/~ler/reports/dsn07-leitao.pdf)
License
-------
This library is released under the MIT License.
See the [LICENSE](LICENSE) file for full license information.