This document summarizes the changes to the module between releases.
Added data distributor plugin which can be used for distributing data between a group of clients. The plugin is triggered by the request string of the form:
_[distributor=group:<group id>;set:<set_id>;trigger:<field_name>;updates:<n_updates>;mode:<update_mode>]
The plugin parameters are optional and are described bellow:
group: this parameter indicates a group that client application belongs to (default value: "default"); groups of clients are completely independent of each other
set: this parameter designates a client set that application belongs to within its group (default value: "default")
trigger: this is the PV structure field that distinguishes different channel updates (default value: "timeStamp"); for example, for area detector images one could use the "uniqueId" field of the NTND structure
updates: this parameter configures how many sequential updates a client (or a set of clients) will receive before the data distributor starts updating the next one (default value: "1")
mode: this parameter configures how channel updates are to be distributed between clients in a set:
For more information and examples of usage see the plugin documentation.
Added support for the whole structure (master field) server side
plugins. The whole structure is identified as the _
string,
and a pvRequest string that applies a plugin to it takes the form:
field(_[XYZ=A:3;B:uniqueId])
where XYZ
is the name of a specific filter plugin that
takes parameters A
and B
with values
3
and uniqueId
respectively.
Formerly if a client makes a request for a subfield of a non structure field it resulted in a crash.
Now if a request is made for a subfield of a non structure field
The test is now a regression test which can be run using:
make runtests
This is the first release of pvDatabaseCPP.
It provides functionality equivalent to pvDatabaseJava.