actor-0.1.1: Actors with multi-headed receive clauses

Actor.ActorLinearSearch

Documentation

data HashOp msg Source

Constructors

HashOp 

Fields

numberOfTables :: HashIdx
 
hashMsg :: msg -> HashIdx
 

data Act msg Source

Constructors

Act 

Fields

external_mailbox :: Chan msg
 
internal_mailbox :: SList (InternalMsg msg)
 
internal_mailbox_barrier :: Iterator (InternalMsg msg)
 
memoTable :: IORef [(Int, [CompClause (Act msg) (Location msg) ()])]
 
hashTable :: [QList (InternalMsg msg)]
 
hashOp :: HashOp msg
 
thread_id :: MVar ThreadId
 

Instances

(EMatch msg, Eq msg, Show msg) => Actor (Act msg) msg (Location msg) HashIdx (QIterator (InternalMsg msg)) 

type PID msg = (Chan msg, MVar ThreadId)Source

type Location msg = IORef (Item (InternalMsg msg))Source

actorToPID :: Act msg -> PID msgSource

kill :: PID msg -> IO ()Source

send :: PID msg -> msg -> IO ()Source

createActor :: HashOp msg -> IO (Act msg)Source

runActor :: Act msg -> (Act msg -> IO ()) -> IO ()Source