Crates.io | rt-own |
lib.rs | rt-own |
version | 0.0.2 |
source | src |
created_at | 2024-03-05 12:49:39.804256 |
updated_at | 2024-03-05 12:49:39.804256 |
description | runtime ownership: owner, sharer and holder |
homepage | |
repository | https://github.com/LambdaAlpha/rt-own |
max_upload_size | |
id | 1163086 |
size | 37,187 |
This library implements the concept of dynamic ownership, providing users with three key types: Owner
, Sharer
, and Holder
. These types can play different roles in managing shared data, enabling flexible ownership control.
Type Descriptions
Owner
: Holds ownership of shared data. An Owner
can read, write, or even drop shared data. Note that an Owner
type can only coexist with some Holder
instances and cannot coexist with other Owner
or Sharer
instances.Sharer
: Shares ownership of shared data. A Sharer
can read shared data but cannot perform write operations. Sharer
can coexist with other Sharer
or Holder
instances.Holder
: Holds a reference to shared data but does not own it. A Holder
cannot read or write shared data; its main purpose is to facilitate role conversion between Owner
and Sharer
.Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.