make query filter optional by adding safe defaults & drop 'Filter' suffix
The query filter parameters for the 'Acquisition' and other properties require mandatory values parameters to 'get' or 'subscribe' any data.
Without having read the documentation/descriptions this may appear cryptic to new users that are unfamiliar with the filter syntax. Also adding the suffix 'xxxFilter' does not provide additional value when these variables are all in the filter header of the request.
This specific proposal is to drop the 'Filter' suffix, to provide safe defaults that if no filter parameter is specified, and reflect/return a complete query parameter to the user that would have been (ideally) needed if an incomplete one has been provided. Notably:
-
channelNameFilter
->signalNames := <default: comma-separated list of signal names>
-
acquisitionModeFilter
->acqMode := <default: STREAMING>
-
triggerNameFilter
->triggerName := <default: ANY>
-
maxClientUpdateFrequencyFilter
->maxUpdateFrequency
:= <default: 25 Hz>`
Examples:
# | user request | service reply |
---|---|---|
1 | /GS12ME1/Acquisition?signalNames=GS12ME1:Voltage | /GS12ME1/Acquisition?signalNames=GS12ME1:Voltage&acqMode=STREAMINGmaxUpdateFrequency=25Hz |
2 | /GS12ME1/Acquisition | /GS12ME1/Acquisition?signalNames=GS12ME1:Voltage&acqMode=STREAMING&maxUpdateFrequency=25Hz |
3 | /GS12ME1/Acquisition?signalNames=GS12ME1:Voltage&acqMode=TRIGGERED | /GS12ME1/Acquisition?signalNames=GS12ME1:Voltage&acquisitionMode=TRIGGERED&triggerName=ANY |
4 | /GS12ME1/Acquisition?signalNames=GS12ME1:Voltage&acqMode=TRIGGERED&triggerName=CMD_BEAM_INJECTION | /GS12ME1/Acquisition?signalNames=GS12ME1:Voltage&acqMode=TRIGGERED&triggerName=CMD_BEAM_INJECTION |
5 | /GS12ME1/Acquisition?signalNames=GS12ME1:Voltage&acqMode=STREAMING | /GS12ME1/Acquisition?signalNames=GS12ME1:Voltage&acqMode=STREAMING&maxUpdateFrequency=25Hz |