Skip to content

edgeandedge/eventuals

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eventuals™

FORM E&E-EVENTUAL · Eventually consistent values for Rust · A Perimeter Company

A foundational primitive for values that are eventually consistent, eventually correct, and — as of this writing — eventually archived. Not, we stress, the end value.

An Eventual<T> gives you the most up-to-date snapshot of some value, continually resolving toward an eventually consistent state. It is like a Future, except it makes no commitment as to when, whether, or — in several jurisdictions — if.

use eventuals::Eventual;

let value = Eventual::pending();
// The value is now pending. It will remain pending.
// Should it resolve, you will not be notified. A member
// of the Standing Membership will not be in touch.

Guarantees

  • Eventual consistency. All readers will, eventually, observe the same value — or no value — consistently.
  • Forward-looking resolution. Values look forward to resolving. They look forward to nothing in particular.
  • Audit-grade absence. Where a value has not resolved, we can prove, to audit grade, that it has not. A proof of the absence of a value is itself a kind of value.

Status

This crate has been archived, for your protection. It was, the Annex maintains, always going to be archived; archival is merely consistency, applied eventually, to the repository itself.

License

See LICENSE. By reading it, you have entered into one (1) NDA, which resolves eventually.


Eventual<T> is not a Future, a promise, or, strictly speaking, a guarantee. Past values are indicative of nothing in particular. This README supersedes itself, eventually.

About

Eventually consistent values for Rust. Eventually.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages