async-subscription-map

Crates.ioasync-subscription-map
lib.rsasync-subscription-map
version0.1.0
sourcesrc
created_at2022-08-19 15:19:38.076544
updated_at2022-08-19 15:19:38.076544
descriptionAsync bookkeeping datastructure for state subscriptions
homepage
repositoryhttps://github.com/Hum-Systems/async-subscription-map
max_upload_size
id648755
size77,865
Mara Schulke (mara-schulke)

documentation

https://docs.rs/async-subscription-map

README

async-subscription-map

Async bookkeeping datastructure for state subscriptions

crates.io version docs.rs docs

A subscription map is a self cleaning map of Observables which tracks tasks that want to subscribe to state updates on a certain key. This becomes very useful if you have multiple tasks in your program and you want to wait in one task until the other starts publishing state updates.

It enables you to generically communicate through your whole program by just knowing an identifier, no need to pass observables around - they are created on the fly and only if someone subscribes to them. This is ideal for highly asynchronous and performance critical backend implementations which serve data accross multiple channels and want to cut down latency through communicating in memory.

Usage Diagram

Self Cleaning Nature

The subscription map is selfcleaing in the sense that it removes every subscription entry and its data as soon as no one subscribes to it and thus actively preventing memory leaks!

Observables

This project is build ontop of async-observable, take a look at it to understand the underlying synchronization api.

Commit count: 15

cargo fmt