NAME
bssrecv - Bundle Streaming Service reception test program
SYNOPSIS
bssrecv menu_option parameters
DESCRIPTION
bssrecv uses BSS to acquire streaming data from bssStreamingApp.
bssrecv is a menu-driven interactive test program, run from the operating system shell prompt. The program enables the user to begin and end a session of BSS data acquisition from bssStreamingApp, displaying the data as it arrives in real time; to replay data acquired during the current session; and to replay data acquired during a prior session.
If no argument is provided, a list of menu option is shown on shell prompt.
If only the menu_option is specified, additional prompt, when necessary, will be displayed to request user input for the necessary parameters.
If both menu_option and parameters are specified, bssrecv will directly execute the specified action.
When initiating the acquisition or replay of data from bssStreamingApp, which corresponds to menu option 1, 2 and 3, the user must provide the following three additional parameters:
-
BSS database name
All data acquired by the BSS session thread will be written to a BSS "database" comprising three files: table, list, and data. The name of the database is the root name that is common to the three files, e.g., db3.tbl, db3.lst, db3.dat would be the three files making up the db3 BSS database.
-
path name
All three files of the selected BSS database must reside in the same directory of the file system; the path name of that directory is required.
-
endpoint ID
In order to acquire streaming data issued by bssStreamingApp, the bssrecv session thread must open the BP endpoint to which that data is directed. For this purpose, the ID of that endpoint is needed.
-
fromTime & toTime
In playback mode, you may specific specific time period starting from fromTime to toTime as part of the command line argument. If these are required but missing, the user will be prompted to enter them. The time format is
yyyy/mm/dd-hh:mm:ss, where yyyy is the year, mm is the month, dd is the day of the month, hh is the hour, mm is the minute, and ss is the second.
bssrecv offers the following menu options:
-
- Open BSS Receiver in playback mode
bssrecv prompts the user for the three parameter values noted above, then opens the indicated BSS database for replay of the data in that database.
-
- Start BSS receiving thread
bssrecv prompts the user for the three parameter values noted above, then starts a background session thread to acquire data into the indicated database. Each bundle that is acquired is passed to a display function that prints a single line consisting of N consecutive '*' characters, where N is computed as the data number at the start of the bundle's payload data, modulo 150. Note that the database is not open for replay at this time.
-
- Run BSS receiver thread
bssrecv prompts the user for the three parameter values noted above, then starts a background session thread to acquire data into the indicated database (displaying the data as described for option 2 above) and also opens the database for replay.
-
- Close current playback session
bssrecv closes the indicated BSS database, terminating replay access.
-
- Stop BSS receiving thread
bssrecv terminates the current background session thread. Replay access to the BSS database, if currently open, is not terminated.
-
- Stop BSS Receiver
bssrecv terminates the current background session thread. Replay access to the BSS database, if currently open, is also terminated.
-
- Replay session
bssrecv prompts the user for the start and end times bounding the reception interval that is to be replayed, then displays all data within that interval in both forward and reverse time order. The display function performed for this purpose is the same one that is exercised during real-time acquisition of streaming data.
-
- Exit
bssrecv terminates.
For each streaming payload displayed, bssrecv prints a string of "*" characters, whose length is the sequence number modulo 150 and at the end of the string, the sequence number, which is inserted as the first byte of the payload by the bssStreamingApp program, is printed out.
EXIT STATUS
-
"0"
bssrecv has terminated.
FILES
No configuration files are needed.
ENVIRONMENT
No environment variables apply.
BUGS
Report bugs to <https://github.com/nasa-jpl/ION-DTN/issues>
SEE ALSO
bssStreamingApp(1), bss(3)