|
Holumbus.Distribution.DNode.Base | Portability | portable | Stability | experimental | Maintainer | Stefan Schmidt (stefanschmidt@web.de) |
|
|
|
|
|
Description |
Version : 0.1
The main module for the implementation of the distributed data structures.
It contains the DNode-datatype which is needed to register new local and
remote resources. The main datatypes (Ids, Handlers, etc.) are also defined
here.
The module should only be used from within this library. User applications
should refer to Holumbus.Distribution.DNode.
|
|
Synopsis |
|
|
|
|
datatypes
|
|
data DistributedException | Source |
|
The exception type, used by distributed communication
| Constructors | DistributedException | | distEx_msg :: String | the message of the exception
| distEx_fct :: String | the function in which the exception was thrown
| distEx_mod :: String | the module in which the exception was thrown
|
|
| Instances | |
|
|
|
The configuration of a DNode. You need it to create a DNode and you can
use this data type it to alter its properties. This type is public to
allow users to create their own configuration.
| Constructors | DNodeConfig | | dnc_Name :: String | | dnc_MinPort :: Int | | dnc_MaxPort :: Int | | dnc_AccessDelay :: Int | | dnc_PingDelay :: Int | |
|
| Instances | |
|
|
|
A good default configuration. To create an unnamed node, just leave the
string empty.
|
|
|
The DNode identifier.
Every DNode has an Id, this could be named or randomly created. The id
could not be used to address a DNode directly over a Network connection
because the physical references are missing. The DNodeId is meant to
create a declarative reference which could be used to lookup purposes.
Think of the DNodeId as a domain name, without a DNS-Server to resolve
the physical address, it is worthless to establish a communication.
| Instances | |
|
|
|
Use this to make a new DNodeId from a String
|
|
|
The DNode address.
| Instances | |
|
|
|
use this to make a new DNodeAddress
|
|
|
The Id of a handler, is needed to stop the handler from further execution.
| Instances | |
|
|
|
The ressouce type, it is used to separate between different kinds of
resources. The resource type is generated by the programmer of a
resource
| Instances | |
|
|
|
|
|
The DResource Id.
| Instances | |
|
|
|
The DResource address
| Instances | |
|
|
|
|
|
The DResource callback functions
|
|
|
The container for the DResources
| Constructors | | Instances | |
|
|
Initializing and Deinitializing of the local node
|
|
|
Initializes the DNode of the program. You have to call this function
once BEFORE you can use other functions.
|
|
|
deinitializes a DNode
|
|
adding, deleting other nodes
|
|
|
Add a foreign DNode to the list of known DNodes.
Only DNodes in this list could be reached by the local node.
|
|
|
removes a foreign DNode entry. You should clean up the foreign DNode
entries.
|
|
checking other nodes and resources
|
|
|
Manually Checks, if another DNode is reachable. Returns true if this is the case,
otherwise false. Always returns, does not throw an exception caused by network failures.
|
|
|
Adds a handler function which periodically checks the existences (or non-existence)
of other DNodes. The first parameter indicates the type of the handler.
If you want to install a handler which is fired when a Node becomes reachable (positive trigger),
it needs to be true. If you want to monitor the event when a specific node disappears,
pass false.
|
|
|
Adds a handler function which periodically checks the existences (or non-existence)
of resources on other DNodes. The first parameter indicates the type of the handler.
If you want to install a handler which is fired when a Node becomes reachable (positive trigger),
it needs to be true. If you want to monitor the event when a specific node disappears,
pass false.
|
|
|
Deletes a Handler from the system, will not be called anymore.
|
|
needed by the resources
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reads data from a stream. We define, that the first line of the message
is the message header which tells us how much bytes we have to read.
|
|
|
Puts a bytestring to a handle. But to make the reading easier, we write
the length of the data as a message-header to the handle, too.
|
|
|
|
Produced by Haddock version 2.6.1 |