Module Network.CPNS.Config

Configurations of the implementation of a Curry Port Name Server (CPNS) based on raw sockets. The CPNS allows the connection to port by symbolic names.

If we connect to a port with symbolic name pn, we first connect to the CPNS of the host named by pn to get the physical socket number of this port. In order to connect to CPNS from any machine in the world, the CPNS demon always listens at port cpnsSocket. Note that this port must be identical for all machines running Network.NamedSocket or Distributed Curry! If this port is occupied by another process on a host, you cannot run CPNSD on it.

Author: Michael Hanus

Version: June 2019

Summary of exported operations:

cpnsSocket :: Int   
cpnsTimeOut :: Int   
getStartupLockFile :: IO String   
Gets name of lock file to coordinate the startup of the CPNS demon.
getCPNSD :: IO String   
Returns the executable of the CPNS demon.
getLogFile :: IO String   
Get name of CPNSD log file.
addLogLn :: String -> IO ()   
Adds a line to the log file

Exported operations:

cpnsSocket :: Int   

Further infos:
  • solution complete, i.e., able to compute all solutions

cpnsTimeOut :: Int   

Further infos:
  • solution complete, i.e., able to compute all solutions

getStartupLockFile :: IO String   

Gets name of lock file to coordinate the startup of the CPNS demon.

getCPNSD :: IO String   

Returns the executable of the CPNS demon. Raises an error if the executable does not exist.

getLogFile :: IO String   

Get name of CPNSD log file.

addLogLn :: String -> IO ()   

Adds a line to the log file