(v13) Scalable RIP command-line processing
This page applies to Harlequin v13.1r0 and later; and to Harlequin Core but not Harlequin MultiRIP
Your code in the farm RIPs is expected to behave appropriately given that a controlling RIP and N farm RIPs are active. In particular, any custom behavior that should only be done once should only be performed by the controlling RIP. The RIP discovers whether it is a controlling or farm RIP, or neither, during the argument parsing in skintest/src/argusage.c
; the controlling RIP is passed the -nrip
option, while farm RIPs are passed the -frid
option.
When the farm RIPs are spawned, they are passed a number of command-line options that are only used for farm RIPs. These options are documented in (v13) Command-line options for Scalable RIP
and must be processed in the same way after your integration. The command-line processing that must be honored for the Scalable RIP to work can be seen in skintest/src/argusage.c
. Search for:
#ifdef SCALABLERIP
within skintest/src/argusage.c
which will highlight command-line arguments that the controlling RIP may use when spawning farm RIPs. It is anticipated that in future versions of Scalable RIP, fewer command-line options need to be honored, with simpler integration.
All Scalable RIP-specific command-line arguments are primarily used in skintest/src/argusage.c
to fill in one of the following two structures: static struct SW_SR_PARAMS sr_params
and static struct SW_FR_PARAMS fr_params
Descriptions of the structure members can be found in the relevant headers interface/swsrip.h
and interface/swfrip.h.