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 filtersAny 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 connectionThe 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 filtersAny 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 disconnectionThe reflex prototype must be: short <Reflex Function Name>( RE_RTservice* PMservice);The function has to return 1.Logging ServiceONLY 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.logDead letters reflexesAny 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