1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
//! Additional documentation. //! //! Here we have some more general topics that might be good to know that just don't fit to the //! crate level intro. //! //! Also, there were some previous blog posts about the crate which you might find interesting. //! //! # Atomic orderings //! //! Each operation on the [`ArcSwapAny`] with [`DefaultStrategy`] type callable concurrently (eg. //! [`load`], but not [`into_inner`]) contains at least one [`SeqCst`] atomic read-write operation, //! therefore even operations on different instances have a defined global order of operations. //! //! # Features //! //! The `weak` feature adds the ability to use arc-swap with the [`Weak`] pointer too, //! through the [`ArcSwapWeak`] type. The needed std support is stabilized in rust version 1.45 (as //! of now in beta). //! //! The `experimental-strategies` enables few more strategies that can be used. Note that these //! **are not** part of the API stability guarantees and they may be changed, renamed or removed at //! any time. //! //! # Minimal compiler version //! //! The `1` versions will compile on all compilers supporting the 2018 edition. Note that this //! applies only if no additional feature flags are enabled and does not apply to compiling or //! running tests. //! //! [`ArcSwapAny`]: crate::ArcSwapAny //! [`ArcSwapWeak`]: crate::ArcSwapWeak //! [`load`]: crate::ArcSwapAny::load //! [`into_inner`]: crate::ArcSwapAny::into_inner //! [`DefaultStrategy`]: crate::DefaultStrategy //! [`SeqCst`]: std::sync::atomic::Ordering::SeqCst //! [`Weak`]: std::sync::Weak pub mod internal; pub mod limitations; pub mod patterns; pub mod performance;