File syntax for server configuration

 

Local services

Any number of such lines can be specified in a server configuration file :

S <Service Name> <DLL FullName> [<Event Name> <Reflex Function Name>]+

The reflex prototype must be:
void <Reflex Function Name>(	RE_RTmessage* PMmessage,
			RE_RTmessage* PManswer);
Message filters

Any number of such lines can be specified in a server configuration file :

F <Service Name> <DLL FullName> [<Event Name> <Reflex Function Name>]+

To filter the msgs <Event Name> destined for <Service Name>.
<Event Name> can be *.
The reflex prototype must be:
short <Reflex Function Name>(RE_RTmessage* PMmessage);
If return 0 (FALSE) the message is not sent and reflexes processing stops.
REMARK:
Special filters can be declared :
F * <DLL FullName> * <Reflex Function Name>
Valid for all messages arriving on the server.
F * <DLL FullName> <Event Name> <Reflex Function Name>
Valid for all messages <Event Name> arriving on the server.
Message delivery filters

Any number of such lines can be specified in a server configuration file :

G <Service Name> <DLL FullName> [<Event Name> <Reflex Function Name>]+

To filter the messages <Event Name> destined for <Service Name> at delivery time.
<Event Name> and <Service Name> can be *.
The reflex prototype must be:
short <Reflex Function Name>(RE_RTmessage* PMmessage);
If return 0 (FALSE) the message is not got and reflexes processing stops.
Services registration filters
Any number of such lines can be specified in a server configuration file :
R <Filter Name> <DLL FullName> [<Service Name> <Reflex Function Name>]+
These filters are triggered when a service connects to a server.
<Service Name> can be *, in such case the filter is evaluated for each connection
The reflex prototype must be:
short <Reflex Function Name>(	RE_RTservice* PMservice,
			RE_RTmessage* PMmessage);
If return 0 (FALSE) the service is not allowed to connect.
Services de-registration filters
Any number of such lines can be specified in a server configuration file :
U <Filter Name> <DLL FullName> [<Service Name> <Reflex Function Name>]+
These filters are triggered when a service disconnects from a server.
<Service Name> can be *, in such case the filter is evaluated for each disconnection
The reflex prototype must be:
short <Reflex Function Name>(	RE_RTservice* PMservice);
The function has to return 1.
Logging Service
ONLY ONE such line can be specified in a server configuration file :
L <Logging Service Name> RE_LogService.dll [<Service Name> <Full log file name>]+
All persistent messages destined for <Service Name> are stored in <Full log file name>. 
One can specify multiple log files for <Service Name>, but one of them has to be the master;
This is the last one declared for <Service Name>, others, prior to this one, must be declared
using character ~ before <Full log file name>.
<Service Name> can be *
Example :
L	Logging	 RE_LogService.dll  *  ~F:\tmp\Backup.log    *  C:\tmp\LogFile.log
Dead letters reflexes
Any number of such lines can be specified in a server configuration file :
D <Service Name> <DLL FullName> [<Event Name> <Reflex Function Name>]+
To trigger a reflex when messages <Event Name> destined for the service <Service Name> 
become dead letters.
<Service Name> and <Event Name> can be *
The reflex prototype must be:
void <Reflex Function Name>(	RE_RTmessage* PMmessage,
			RE_RTmessage* PManswer);

 

 

 

REMARKS :
. In order to avoid problems when manually editing such a file,
  one declares the F before the S
. PRESS RETURN ONLY ONCE at the end of the last line
. One configuration file is supplied:
	%REROOT%\xiomom\files\Default.cnf
  This file creates a log file :
	%REROOT%\tmp\RElog.log