dev.tauri.choam.mcas
Members list
Type members
Classlikes
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- HalfEMCASDescriptor.type
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Common interface for MCAS (i.e., k-CAS) implementations
Common interface for MCAS (i.e., k-CAS) implementations
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Extension point for MCAS: an MCAS operation can be executed on any number of objects which conform to this interface.
Extension point for MCAS: an MCAS operation can be executed on any number of objects which conform to this interface.
However, the methods of this interface should only ever be called by the MCAS implementation. An MCAS operation is only safe and atomic if ALL reads and writes go through the MCAS implementation.
These are the low-level, primitive operations
required by the MCAS implementation. They are
easily implemented by, e.g., having an
AtomicReference
or similar. (For implementations
of this interface, see SimpleMemoryLocation
or
the various Ref
s in the choam-core
module.)
Some method names are prefixed by unsafe
because
these are necessarily side-effecting methods,
and they're also very low-level. Other methods are
not "unsafe", since they're mostly harmless.
Generally, this interface should not be used directly. Instead, use MCAS, or an even higher level abstraction.
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- MemoryLocation.type
This is a very limited MCAS implementation,
which can only perform empty MCAS operations
(i.e., not even reading is implemented). All
other operations throw an UnsupportedOperationException
.
This is a very limited MCAS implementation,
which can only perform empty MCAS operations
(i.e., not even reading is implemented). All
other operations throw an UnsupportedOperationException
.
It can be useful in special cases (for low-level optimization),
when it is necessary to immediately execute a Rxn
which
is known not to actually do any k-CASes.
Attributes
- Graph
- Supertypes
- Self type
- NullMcas.type
Attributes
- Graph
- Supertypes