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