2. Overview

Active modules

rtms2ddtlib_llnetio

Components that turn RTMS frames into DDT publications: DdtImage buffers, DdtSender publishers and the Rtms2DdtGateway receiver that feeds them.

rtmssender / rtmsreceiver_llnetio

Engineering command line programs that exercise the libraries. The sender replays FITS cubes, while the receiver can optionally relay to DDT.

test/rtmstools

Robot Framework and ETR scenarios that perform end-to-end transfers, check load behaviour and validate the command line interfaces.

doc/manual

The Sphinx project that produces this user manual and is hooked into the top-level waf recursion.

Legacy modules

rtmslib rtmsreceiver rtms2ddtlib

Frozen copies of the original (pre-llnetio) stack. They are kept to help long-running projects finish their migration but are not expected to evolve.

rtms2ddt

Transitional utility that predates the current rtms2ddtlib_llnetio gateway. New deployments should rely on the llnetio versions described in this manual together with the ifw-rtmslib manual.

Dependencies

  • llnetio and mudpi provide UDP sockets, RTMS framing and multicast helpers.

  • IFW foundation libraries (ifw::fnd) supply datatype metadata, logging and FITS conversion helpers.

  • ddt* modules implement the optional publishing pipeline.

  • log4cplus, fmt and Boost cover logging, formatting and command line parsing.

  • sphinx_eso_theme styles the documentation.

Build and installation

The tree is driven by waf. A typical build/install cycle looks as follows:

$ ./waf configure --prefix=${INTROOT} --with-docs
$ ./waf build
$ ./waf install

Add --with-tests when you need to compile the Robot suites. Libraries and binaries end up below ${INTROOT}/{lib,bin} and pick their run-time resources from ${INTROOT}/share/rtmstools.

Testing

test/rtmstools bundles a Robot Framework environment that controls rtmssender/rtmsreceiver and validates the FITS replay, extended header propagation and DDT handoff. The tests are invoked via

$ ./waf --run-tests

or directly with the supporting robot launcher installed by waf.

Documentation build

$ cd doc/manual/src
$ make html

doc/wscript and doc/manual/wscript add the manual to the top-level waf recursion so ./waf --with-docs installs the HTML/PDF artefacts under ${DOCDIR}/rtmstools.