Salamander Data Supplier C Developer Information


Code:

This is release 2.0.b2 (occurred on 8/27/97).

Here is the latest gzip'd tarfile for the salamander data supplier interface.

It consists of these files:

  1. Makefile
  2. salamanderSupplier.c
  3. salamanderInterface.h
  4. salamanderInterface.c
  5. salamanderUtil.h
  6. salamanderUtil.c
  7. propertyList.h
  8. propertyList.c
See the sample Makefile for compilation.

WARNING:


The property list manipulation routines needed are:

An example supplier is provided that uses the following interface routines: CAVEAT:

Usage Notes:

The basic idea, is that data suppliers provide data objects into the system. These objects have attributes associated with them. These attributes describe the data object in a way such that data subscribers can pick and chose among them. The salamander system makes this object and property separation explicit at the interface level. When providing an object to the system through the sendSalamanderServerData routine, you provide a property list (plist) and the object (along with its size in bytes). The interface then gives this object and its properties to the salamander system which in turn gives it to any subscribers who may want it.

Property lists are created with the routines in the propertyList.c file. Property lists are just lists of properties. Aproperty consists of two strings: a key, and a value. The key string identifies the property; and the value string represents the property's value.

To illustrate the data supply process, take the example of the UARC Sondrestrom Radar supplier. This supplier generates radar datasets at regular intervals. For each radar dataset, it creates a property list with the following two properties:

The NAME is a well-known property that identifies the object's type. Every data supplier MUST chose a unique name.

The TIMESTAMP is another well-known property that represents the UT time in seconds since January 1, 1970. It is constructed of two numeric string catenated with a period. The first number represents the number of seconds; the second number the microseconds. These are the two values from the unix structure:

Together these two properties are enough to uniquely describe the data object, specifically the radar dataset. This is IMPORTANT, the set of properties you generate for an object must uniquely identify it within the system.

See the salamanderSupplier.c code for Unix code that generates these two well-known properties.



Salamander homepage
rmalan@eecs.umich.edu