Crate pinboard [] [src]

A Pinboard is a shared, mutable, eventually consistent, lock-free data-structure. This allows multiple threads to communicate in a decoupled way by publishing data to the pinboard which other threads can then read in an eventually consistent way.

This is not a silver bullet though, there are various limitations of Pinboard that trade off the nice behaviour described above.

  • Eventual consistency:
    • Writes from one thread are not guaranteed to be seen by reads from another thread
    • Writes from one thread can overwrite writes from another thread
  • No in-place mutation:
    • The only write primitive completely overwrites the data on the Pinboard
  • Requires Clone:
    • All reads return a clone of the data, decoupling the lifetime of the read value from the data stored in the global reference.

Structs

Pinboard

An instance of a Pinboard, holds a shared, mutable, eventually-consistent reference to a T.