# Vdl_ew Overview

(last revised 14 April, 1998)

This is the Earthworm encapsulation of the USNSN code written by Dave Ketchum. It takes trace data messages from specified channels, buffers them in a circular FIFO, and feeds them to VDL. VLD executes a frequency-domain single-station event detector, and sends triggered, compressed event data to the USNSN. The encapsulating code shows its age by using numeric pin numbers rather than ASCII station-component-network names. Startup sequence: Earthworm is brought up by 'startstop'. Startstop reads its configuration file (startstop.d) containing command lines. The command line for vdl is found there. That command line contains the usual vdl command line, plus an Earthworm "-e" switch specifying the parameter file:

                            vdl ... -e vdl_params.d ...

where "vdl_params.d" will be read by feedme_init(), and contains all the Earthwormy things, like module id, ring to attach to, station to send, and what to call it. feedme_init() initiates logging, reads the parameter file, initializes the memory FIFO buffer of trace messages, and starts the MsgGet thread. This thread picks messages from the transport ring, sees if they're the pin numbers to be sent, and if so swaps as required, and pushes them into the memory FIFO.

Shutdown:
  When the message getting thread gets a termination message from the transport ring, it'll set a status variable to -1, and exit. feedme() will see the negative status the next time it's called, and send the signal SIGQUIT to its own pid. VDL gets the hint, and performs a decent shutdown (we presume). This includes calling feedme_shutdown(), which shuts down the Earthwormy stuff.
Operating System:
  This module is system dependent. At this time, VDL runs on Solaris only.

  Module Index | Vdl_ew Commands