Properties are listed in the properties file one per line. Each line
contains an attributed and a value, separated by an equals sign.
Blank lines are ignored. Comments follow a pound symbol ('#')
on any line. A sample Conductor.properties
file can be
found in
Conductor/Conductor.properties.example.
A special property, IncludeDefaults
, can be used to specify
the name of a file which contains a set of default properties. The default
properties are overidden by any values in this file. A defaults file
can also have an IncludeDefaults
property, and so on.
Each property has a type: boolean, int,
string, or filename. Properties of
type boolean are considered true iff they have the
value true
, 1
, or yes
(false otherwise). Propreties of type filename can
contain the substring ${HOSTNAME}
which will be replaced by
the local hostname. Values of type int can be specified in any
manner acceptable to Integer.parseInt()
.
The following properties are used to configure which version of an extensible module to use:
Property Name | Type | Default Value | Description | |
---|---|---|---|---|
PlannerClass | string |
FMG.Conductor.planning.StaticPlanner |
The class of the planner module to use. Must be a subclass
of
FMG.Conductor.planning.Planner .
| |
MonitorClass | string |
FMG.Conductor.monitor.DefaultMonitor |
The class of the environment monitor to use. Must be a sub-class of
FMG.Conductor.monitor.EnvMonitor . |
|
InterfaceClass | string |
FMG.Conductor.Interface |
The class of the object that runs the interface. Must be a sub-class
of
FMG.Conductor.Interface .
|
The following properties are used to configure Conductor's behavior:
Property Name | Type | Default Value | Description |
---|---|---|---|
AcceptorPort | int | 4444 | The UDP port number used for path finding. |
PlanningPort | int | 4445 | The TCP port number used for planning path connections. |
DataPort | int | 4446 | The TCP port number used for datapath connections. |
DataQueuingLimit | int | Integer.MAX_VALUE |
The number of data messages that are allowed to queue between windows in the data path. |
ThreadCacheLimit | int | Integer.MAX_VALUE |
The maximum number of running threads that will be cached for future use when they exit. Once the max number of threads is cached, subsequent exiting threads are allowed to die. |
ReliabilityEnabled | boolean | true | Controls whether the reliability features are turned on. |
InitiateRecovery | boolean | false (for now) | Controls whether recovery is initiated when a failure occurs. The
default will become true when the code receives more
testing. |
UseSecurePlanning | boolean | false | Controls whether a security module will be used to protect planning messages. |
SecurityConfig | filename | ./config/security.cfg | The name of the configuration file for secure planning. |
MeasurementMask | int | 0 | Allows selected portions of measurement code to be enabled.
See FMG.Conductor.util.Measure for more details.
This option has no effect unless measurement mode is enabled via
the -m command line option. |
SocketSendBufferLimit | int | none | Set the output buffering limit on inter-Conductor data stream
sockets by setting the SO_SNDBUF socket option. |
ConductorNetFile | filename | ./config/ConductorNet | Enabled by the -E option, this file specifies which nodes and networks are part of the Conductor network, and which are not. |
Debug.UseMessageLengthGuard | boolean | false | Turn on a safety feature that ensures that the same number of bytes are read and written during the transmission of each message. This feature requries a one-byte-per-message overhead, so it is normally turned off. |
GlobalWorkingDir | filename | /tmp/conductor | A directory where working files created by Conductor adaptors are stored for unauthenticated users or authenticated users with no local home directory. Note that authenticated users will by default have their files stored within their home directory. |
HomeWorkingDir | filename | conductor | The name of the subdirectory in user's home directory in which working files are stored by adaptors operating on bahalf of that user. |
PlanCommInactivityTimeout | int | 0 (never) | The length of inactivity (in seconds) after which planning connections are automatically closed. |
PlanCommPriority | int | -1 (don't set) | The priority to give to planning communication sockets using the
SO_PRIORITY socket option. |
PlanCommLowDelay | boolean | false | Set the type of service on planning sockets to low delay? |
MinPlanPathInitTimeout | int | 500 | The minimum amount of time, in milliseconds, to wait for a response
to a PathRequest message. The first request will use this timeout.
Subsequent timeouts will increase exponentially up to
MaxPlanPathInitTimeout . |
MaxPlanPathInitTimeout | int | 10000 | The maximum amount of time, in milliseconds, to wait for a response
to a PathRequest message. This value provides a cap on the timeout
that starts at MinPlanPathInitTimeout and increases
exponentially. |
CheckForPrematureClose | boolean | true | Should Conductor check for the case in which a client gives up before a connection is formed? |
NATinUse | boolean | true | Indicates that Conductor is running on a network that uses NAT. When this is the case, the interface address for a connection is determined by what the next node sees. With NAT, we see a different interface address for ourselves than our neighbor does. When in doubt, enable this option (it is unlikely to be harmful). |
The following properties are interpreted by Conductor modules:
Property Name | Type | Default Value | Description |
---|---|---|---|
RCInterface.SocketInterface | class name | none | The name of the class to use for the interface served up on a socket. |
RCInterface.InterfacePort | int | none | The socket port number on which to serve up an interface. |
BasicMonitor.MonitorPort | int | 4447 | The UDP port number used for probes. |
BasicMonitor.ProbeFreq | int | 20000 | The frequency (in milliseconds) with which proves are sent. |
BasicMonitor.SampleFreq | int | 5000 | The frequency (in milliseconds) with which throughput is updated. |
Properties for other modules can be found in the documentation for that modules. In particular, see StaticPlanner.html, and StaticMonitor.html.
Conductor is a product of Mark Yarvis
(yarvis@fmg.cs.ucla.edu) and the
FMG Research Group at
UCLA's Department of Computer Science.
Copyright © 2001 The Regents of the University of California. All Rights Reserved. |