RBNB request and flushing options can be accessed using the following syntax:
[channel][options-start-marker][option1][value1]
<&<option2><value2>...
where channel is the RBNBTM channel,
options-start-marker is one of ? or
@, and the option value pairs are specified below.
The following options are for use with the MKCOL WebDAV command when used to create RBNB sources.
| Option | Alias | Values | Description | Example |
|---|---|---|---|---|
| mode | m | One of "none", "create", "append", "load", or "delete". For flushes, any valid mime type. | Valid only for source creation. The
default is "none" (or "append" if option archive
is used). |
MKCOL source@mode=create&archive=1000
starts a source with a new archive of 1000 frames.
|
| archive | a | Any non-negative integer. | This option specifies the number of frames of data to use for the server's archive for this source. The default mode is changed to "append". | MKCOL foo@a=1000 creates an archive with 1000
frames.
|
| cache | c | Any non-negative integer. | This option specifies the number of frames of data in the ring buffer. The default is currently 10000. | MKCOL foo@c=1000 creates a cache with 1000
frames.
|
| protect | p | One of "on" or "off". | When on, when the DELETE command is used on files located under this folder, the files are not truly removed, but rather hidden until another frame is added to the file. | MKCOL foo@protect=on |
These options specify the format of file creation and access.
| Option | Alias | Values | Description | Example |
|---|---|---|---|---|
| time | t | Any double | Start time of the request or flushed data. Note that specifing this option changes the default reference from "newest" to "absolute" for requests. If unspecified for flushes, the default is seconds since the epoch. | GET foo@t=0 returns the point of data available
at time 0.
|
| duration | d | Any double | Duration of the request or flushed data. A duration of zero means "one point". | GET foo@d=1 returns one unit (probably seconds)
of data.
|
| reference | r | One of "newest", "oldest", or "absolute". | Valid only for requests. Determines how the start time is interpretted. | GET foo@r=oldest&d=1 returns the oldest
unit (probably seconds) of data availble on the server.
|
| fetch | f | One of "data", "d", "time", "times", "t", "size", "s", "datatype", "dt", "mime", "m", "info", or "i". | For requests, determines what information is retrieved from the server. | GET foo@fetch=times retrieves the time for the
last point in the server. |
| byteorder | bo | One of "msb", "lsb", or "local". | For requests, specifies the byte order desired for the returned data. For flushes, specifies the byte order of the data to be flushed. MSB is the default. | PUT foo@t=0&d=1&bo=msb specifies that
a chunk of one unit's worth of data is to be sent to the
RBNB with MSB byte order.
|
| datatype | dt | One of "int8", "i8", "int16", "i16", "int32", "i32", "int64", "i64", "float32", "f32", "float64", "f64", "string", "s", "bytearray", "b", "ba", or "unknown". | For flushes, specifies the low level type of the data to be flushed. The default is "bytearray" except in the case of MUX channels, where it is "int8". | PUT foo@dt=float32 specifies that
a chunk of single precision data is to be sent to the
RBNB.
|
| mux | x | Any positive integer. | Specifies the number of channels of multiplexed data. The
default is 1 (no multiplexing). For PUTs, indicates that the
specified
URL is the prefix for a channel set, where the number of channels
in the set is the MUX parameter. The data block is assumed
to consist of n sets of 'blocksize' words, where
n = data_block_size / blocksize / wordsize, and wordsize is a
function of the 'datatype' parameter. Note that incomplete
blocks (at the end of the data stream) are discarded. |
PUT foo@x=10 puts the data into ten channels marked
foo0, foo1, etc, one 8 bit integer per
channel per pass until all the data has been used.
|
| blocksize | bs | Any positive integer. | Specified the number of words of data that are contiguous for each channel for multiplexed data. The default is one. | PUT foo@x=10&bs=5&dt=f32 will divide the
data into 10 channels, each with five 32 bit floats per pass, and
enough passes to use all the data. |
| mime | m | For flushes, any valid mime type. | Valid only for flushes. The default is "application/octet-stream". | PUT foo@mime=text/xml specifies that the mime
type of 'foo' is to be 'text/xml'.
|
Note that the query string will be forwarded as a data string in the RBNB request in the case of GET and POST. This may be retrieved by RBNB PlugIns and used to configure the response.