Control.Concurrent.CHPSpec.Barriers
Description
A module containing barriers.
The PhasedBarrier type remains, but currently syncBarrier has been changed
so that it only works on Barrier, i.e. PhasedBarrier (). This is because
phases haven't been modelled yet.
- type Barrier = PhasedBarrier ()
- type EnrolledBarrier = Enrolled PhasedBarrier ()
- newBarrier :: CHP Barrier
- newBarrierPri :: Int -> CHP Barrier
- newBarrierWithLabel :: String -> CHP Barrier
- data PhasedBarrier phase
- newPhasedBarrier :: (Enum phase, Bounded phase, Eq phase, Show phase) => phase -> CHP (PhasedBarrier phase)
- newPhasedBarrier' :: phase -> BarOpts phase -> CHP (PhasedBarrier phase)
- data BarOpts phase = BarOpts {
- barIncPhase :: phase -> phase
- barPriority :: Int
- barOptsShow :: phase -> String
- barOptsLabel :: Maybe String
- defaultIncPhase :: (Enum phase, Bounded phase, Eq phase) => phase -> phase
- defaultBarOpts :: (Enum phase, Bounded phase, Eq phase) => BarOpts phase
- barLabel :: (Enum phase, Bounded phase, Eq phase, Show phase) => String -> BarOpts phase
- syncBarrier :: EnrolledBarrier -> CHP ()
Documentation
type Barrier = PhasedBarrier ()Source
newBarrierPri :: Int -> CHP BarrierSource
data PhasedBarrier phase Source
Instances
| Typeable1 PhasedBarrier | |
| Enrollable PhasedBarrier phase | |
| Eq (PhasedBarrier phase) |
newPhasedBarrier :: (Enum phase, Bounded phase, Eq phase, Show phase) => phase -> CHP (PhasedBarrier phase)Source
newPhasedBarrier' :: phase -> BarOpts phase -> CHP (PhasedBarrier phase)Source
Constructors
| BarOpts | |
Fields
| |
defaultIncPhase :: (Enum phase, Bounded phase, Eq phase) => phase -> phaseSource
syncBarrier :: EnrolledBarrier -> CHP ()Source
Unlike normal CHP, this function only works on barriers with the unit type for a phase.