Portability | portable |
---|---|
Stability | experimental |
Maintainer | mik@konecny.aow.cz |
Abstraction of a distributed manager for networked ER processes. Its functions comprise:
- initial process deployment
- expansion of a process into a sub-network
To be imported qualified, usually with the prefix MAN.
- class ChannelForScheduler lg sIn sOut sInAnyProt sOutAnyProt => Manager man lg sIn sOut sInAnyProt sOutAnyProt | man -> lg sIn sOut sInAnyProt sOutAnyProt where
- new :: ManagerName -> IO (man, ManagerID)
- connectNeighbour :: man -> ManagerID -> IO Bool
- runProcess :: man -> ERProcess sInAnyProt sOutAnyProt -> IO lg
- type ManagerName = String
- type ManagerID = String
- runDialogue :: (Manager man lg sIn sOut sInAnyProt sOutAnyProt, QAProtocol q a) => man -> ERProcess sInAnyProt sOutAnyProt -> Int -> ChannelType -> ((q -> IO a) -> IO ()) -> Bool -> IO lg
Documentation
class ChannelForScheduler lg sIn sOut sInAnyProt sOutAnyProt => Manager man lg sIn sOut sInAnyProt sOutAnyProt | man -> lg sIn sOut sInAnyProt sOutAnyProt whereSource
new :: ManagerName -> IO (man, ManagerID)Source
connectNeighbour :: man -> ManagerID -> IO BoolSource
type ManagerName = StringSource
A name given to a ditributed node by a programmer.
A globally unique name as a URL.
eg ernet:localhost:4176/miks-ivp-solver-master ernet-local:/ivp-solver-master ernet-mpi:/ivp-solver-master
The port 4176 was unassigned when checked on http:www.iana.orgassignmentsport-numbers on 2nd November 2008.
:: (Manager man lg sIn sOut sInAnyProt sOutAnyProt, QAProtocol q a) | |
=> man | |
-> ERProcess sInAnyProt sOutAnyProt | a process to be deployed and enquired; it cannot have input sockets |
-> Int | the output socket in the above process to use, numbered from 0 |
-> ChannelType | type of the above output socket |
-> ((q -> IO a) -> IO ()) | Dialogue action that makes queries into this channel. The parameter is a query function that waits for the answer and returns it. |
-> Bool | whether or not to wait until the dialogue is finished |
-> IO lg |
Run a process together with some queries on one of its output sockets.