Spelling and typos.
This commit is contained in:
@@ -52,7 +52,7 @@ provides a language independent overview of <b>copy</b> and <b>monitor</b>.
|
||||
</p>
|
||||
<p>
|
||||
<b>NOTE:pvRequest.html</b> must be updated since it is based on an earlier version of pvCopy that
|
||||
had knowlege of PVRecord. The C++ version was implemented in pvDatabaseCPP
|
||||
had knowledge of PVRecord. The C++ version was implemented in pvDatabaseCPP
|
||||
and the Java version on pvIOCJava.
|
||||
At present only the C++ version of the new API for pvCopy is implemented.
|
||||
</p>
|
||||
@@ -65,13 +65,13 @@ At present only the C++ version of the new API for pvCopy is implemented.
|
||||
Given an ascii string createRequest creates a PVStructure that provides
|
||||
a pvData representation of the information from the ascii string.
|
||||
It is this structure that can be passed to the channel create methods.<br />
|
||||
The information in a pvRequest selects an arbitrarary subset of the
|
||||
The information in a pvRequest selects an arbitrary subset of the
|
||||
fields in a top level structure that resides in the server.
|
||||
In addition options can be specified. Both global and field specific
|
||||
options can be specified.
|
||||
</dd>
|
||||
<dt>pvCopy</dt>
|
||||
<dd>This is a faculity used by channel providers.
|
||||
<dd>This is a facility used by channel providers.
|
||||
It provides client specific code that manages a copy of an arbitrary
|
||||
subset of the fields in a top level structure that resides in the
|
||||
provider. It also allows provider access to options specified
|
||||
@@ -185,7 +185,7 @@ where
|
||||
This is the method for creating a PVCopy instance.<br/>
|
||||
<dl>
|
||||
<dt>pvMaster</dt>
|
||||
<dd>the top level sructure managed by the server.</dd>
|
||||
<dd>the top level structure managed by the server.</dd>
|
||||
<dt>pvRequest</dt>
|
||||
<dd>selects the set of subfields desired
|
||||
and options for each field.</dd>
|
||||
@@ -241,12 +241,12 @@ where
|
||||
<dt>updateCopyFromBitSet</dt>
|
||||
<dd>
|
||||
For each set bit in bitSet set the field in copyPVStructure to the value
|
||||
of the corrseponding field in pvMaster.
|
||||
of the corresponding field in pvMaster.
|
||||
</dd>
|
||||
<dt>updateMaster</dt>
|
||||
<dd>
|
||||
For each set bit in bitSet set the field in pvMaster to the value
|
||||
of the corrseponding field in copyPVStructure.
|
||||
of the corresponding field in copyPVStructure.
|
||||
|
||||
</dd>
|
||||
<dt>getOptions</dt>
|
||||
@@ -266,7 +266,7 @@ where
|
||||
<p>This consists of two components:
|
||||
<dl>
|
||||
<dt>monitor</dt>
|
||||
<dd>Used by code that implements pvAccess montors.</dd>
|
||||
<dd>Used by code that implements pvAccess monitors.</dd>
|
||||
<dt>monitorPlugin</dt>
|
||||
<dd>Code that provides special semantics for monitors.</dd>
|
||||
</dl>
|
||||
@@ -346,7 +346,7 @@ Note that each client has it's own queue that is not shared with other client.
|
||||
<dt>start</dt>
|
||||
<dd>
|
||||
Start monitoring.
|
||||
This will result in a an inital monitor that has the current value
|
||||
This will result in a an initial monitor that has the current value
|
||||
of all fields.
|
||||
</dd>
|
||||
<dt>stop</dt>
|
||||
@@ -356,11 +356,11 @@ Note that each client has it's own queue that is not shared with other client.
|
||||
<dt>poll</dt>
|
||||
<dd>
|
||||
Called to get a monitor element.
|
||||
If no new elemants are available then a null pointer is returned.
|
||||
If no new elements are available then a null pointer is returned.
|
||||
</dd>
|
||||
<dt>release</dt>
|
||||
<dd>
|
||||
Release the monotor element.
|
||||
Release the monitor element.
|
||||
The caller owns the monitor element between the calls to poll and release.
|
||||
</dd>
|
||||
<dl>
|
||||
@@ -488,7 +488,7 @@ It has methods:</p>
|
||||
<dd>
|
||||
MonitorPluginManager is a singleton.
|
||||
The first call to get will create the single instance.
|
||||
Further calls will rerurn the single instance.
|
||||
Further calls will return the single instance.
|
||||
</dd>
|
||||
<dt>addPlugin</dt>
|
||||
<dd>
|
||||
@@ -496,18 +496,18 @@ It has methods:</p>
|
||||
</dd>
|
||||
<dt>findPlugin</dt>
|
||||
<dd>
|
||||
Find a plugin. A NULL shared pointer is reurned if it has not been added.
|
||||
Find a plugin. A NULL shared pointer is returned if it has not been added.
|
||||
</dd>
|
||||
<dt>showNames</dt>
|
||||
<dd>
|
||||
Show the names of all puugins that have been added.
|
||||
Show the names of all plugins that have been added.
|
||||
</dd>
|
||||
</dl>
|
||||
<p><b>NOTE:</b>
|
||||
Should the method <b>causeMonitor</b>
|
||||
have arguments <b>pvField</b> and <b>pvTop</b>
|
||||
be defined so that they can not be modfied.
|
||||
This would be posssible if the following was defined:
|
||||
be defined so that they can not be modified.
|
||||
This would be possible if the following was defined:
|
||||
<pre>
|
||||
typedef std::tr1::shared_ptr<const PVField> PVFieldConstPtr;
|
||||
typedef std::tr1::shared_ptr<const PVStructure> PVStructureConstPtr;
|
||||
@@ -519,7 +519,7 @@ virtual bool causeMonitor(
|
||||
PVStructureConstPtr const &pvTop,
|
||||
MonitorElementPtr const &monitorElement) = 0;
|
||||
</pre>
|
||||
But just adding these definitions is not sufficent.
|
||||
But just adding these definitions is not sufficient.
|
||||
In addition all methods defined in pvDataCPP must be checked.
|
||||
In particular many of the methods in <b>Convert</b> must have
|
||||
their arguments modified.
|
||||
@@ -545,15 +545,15 @@ structure powerSupply
|
||||
structure power
|
||||
double value
|
||||
structure alarm
|
||||
struvture display
|
||||
structure display
|
||||
structure voltage
|
||||
double value
|
||||
structure alarm
|
||||
struvture display
|
||||
structure display
|
||||
structure current
|
||||
double value
|
||||
structure alarm
|
||||
struvture display
|
||||
structure display
|
||||
</pre>
|
||||
<p>A pvAccess client wants to create a monitor on the powerSupply as follows:
|
||||
The client wants a top level structure that looks like:
|
||||
@@ -578,7 +578,7 @@ client wants. It can be attached to any field via the following options:
|
||||
[plugin=onChange,raiseMonitor=value]
|
||||
</pre>
|
||||
This plugin will trigger a monitor for the field only if the field changes
|
||||
value. In addition <b>value</b> equals <b>false</b> means do not raise a monotor
|
||||
value. In addition <b>value</b> equals <b>false</b> means do not raise a monitor
|
||||
for changes to this field.
|
||||
But if a change to another field does cause a monitor the change to this field
|
||||
will be passed to the client.
|
||||
|
||||
@@ -68,7 +68,7 @@ license.</a></p>
|
||||
|
||||
<h2>Changes</h2>
|
||||
<p>Since the last version of this document the following changes have
|
||||
been made to the proposed interface definitionsi for PVValueArray:</p>
|
||||
been made to the proposed interface definitions for PVValueArray:</p>
|
||||
<dl>
|
||||
<dt>put(const svector &from)</dt>
|
||||
<dd>This has been removed. shareData can be used instead.</dd>
|
||||
@@ -93,7 +93,7 @@ purpose for pvData:
|
||||
<blockquote>pvData (Process Variable Data) defines and implements an efficent
|
||||
way to store, access, and communicate memory resident data structures.</blockquote>
|
||||
This statement appears as the first sentence of pvDataJava.html.
|
||||
A few sentances later the document makes clear that communication
|
||||
A few sentences later the document makes clear that communication
|
||||
includes network communication.
|
||||
Thus pvData provides an interface for network accessible structured data.
|
||||
If the interfaces for C++ and Java are similar then
|
||||
@@ -160,7 +160,7 @@ PVScalar and extensions, PVArray and extensions.
|
||||
PVStructureArray is not discussed.
|
||||
</p>
|
||||
<h3>PVField</h3>
|
||||
<p>This is the base for all the PVXXX iterfaces.
|
||||
<p>This is the base for all the PVXXX interfaces.
|
||||
It provides basic methods for allowing network transfer and for
|
||||
traversing structured data.
|
||||
The pvDataJava and pvDataCPP definitions are similar.
|
||||
@@ -306,7 +306,7 @@ methods:
|
||||
</dl>
|
||||
</p>
|
||||
<p>The proposed version is like the pvDataCPP version except for dumpValue
|
||||
and the stream interators.</p>
|
||||
and the stream iterators.</p>
|
||||
<h4>pvDataJava</h4>
|
||||
<pre>
|
||||
interface PVScalar extends PVField {
|
||||
@@ -1161,7 +1161,7 @@ typedef std::tr1::shared_ptr<PVStringArray> PVStringArrayPtr;
|
||||
<dt>put</dt>
|
||||
<dd>This is the recommended method for modifying the array elements.
|
||||
It may change the capacity if len asks for more elements
|
||||
than the cureent capacity allows.
|
||||
than the current capacity allows.
|
||||
It does not change the current length.
|
||||
</dd>
|
||||
<dt>shareData</dt>
|
||||
@@ -1169,7 +1169,7 @@ typedef std::tr1::shared_ptr<PVStringArray> PVStringArrayPtr;
|
||||
Note that if capacity is ever changed then data will no
|
||||
longer be shared.
|
||||
This method can also be called to force the PVValueArray to have a new
|
||||
raw array. This is usefull for implementing Copy On Write.
|
||||
raw array. This is useful for implementing Copy On Write.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
@@ -1218,12 +1218,12 @@ and start with a brief summary modeled after Section 31.3(STL Containers) in:<br
|
||||
"The C++ Programming Language, C++11, Fourth Edition", Bjarne Stroustrup,2013<br/>
|
||||
The subsection names are the same names that Stroustrup uses.
|
||||
Each subsection starts with a brief summary that is similar to
|
||||
the summary Stroustrup has at the beginnining of each subsection.</p>
|
||||
the summary Stroustrup has at the beginning of each subsection.</p>
|
||||
<p>The comparison is always with std::vector.
|
||||
In addition it shows what is defined by by std::vector but not by
|
||||
shared_vector.</p>
|
||||
<p>Someone who already understand the C++ STL can understand shared_vector
|
||||
by just looking at the brief summarys.
|
||||
by just looking at the brief summaries.
|
||||
For others the brief summary is followed by tutorial information.
|
||||
</p>
|
||||
<h3>shared_vector example</h3>
|
||||
@@ -1322,7 +1322,7 @@ These are not used by any of the client methods.</p>
|
||||
<p>Brief Summary
|
||||
<pre>
|
||||
C c(); Default constructor; c is empty.
|
||||
C c(n); c is initialized with n elementis with the value value_type{};
|
||||
C c(n); c is initialized with n elements with the value value_type{};
|
||||
offset is 0; size is n;
|
||||
C c(n,e); Initialize c with n copies of e.
|
||||
offset is 0; size is n;
|
||||
@@ -1373,7 +1373,7 @@ shared_vector(size_t n, value_type e);
|
||||
<p>The first three constructors all create a new shared_vector
|
||||
by also creating a new raw array,
|
||||
The difference is the size of the array, i.e. how many elements it contains,
|
||||
and how the elements are initalized.
|
||||
and how the elements are initialized.
|
||||
</p>
|
||||
<dl>
|
||||
<dt>shared_vector()</dt>
|
||||
@@ -1405,7 +1405,7 @@ emptyArray 1
|
||||
zeroArray {16}[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...]
|
||||
oneArray {8}[1, 1, 1, 1, 1, 1, 1, 1]
|
||||
</pre>
|
||||
<p><b>NOTE EXISTING: </b> Why did emptyArray disply the above.
|
||||
<p><b>NOTE EXISTING: </b> Why did emptyArray display the above.
|
||||
Should it be "emptyArray {0} []"?
|
||||
</p>
|
||||
<h4>Construct by sharing raw array from a shared_vector</h4>
|
||||
@@ -1593,7 +1593,7 @@ crend() Constant last element of reverse sequence
|
||||
<p>
|
||||
shared_vector supports both iterators and reverse iterators as defined by the STL.
|
||||
For both constant iterators are also defined.
|
||||
A constant iterator does not allow an array elemnent to be modified.</p>
|
||||
A constant iterator does not allow an array element to be modified.</p>
|
||||
<p>The following is an example of a constant iterator.</p>
|
||||
<pre>
|
||||
int32 sum = 0;
|
||||
@@ -1705,7 +1705,7 @@ produces:
|
||||
<pre>
|
||||
void make_unique() Make caller the only user of std::tr1::shared_ptr
|
||||
bool unique() Is the caller the only user of std::tr1::shared_ptr
|
||||
void slice(offset,length) Change window offset andsize
|
||||
void slice(offset,length) Change window offset and size
|
||||
|
||||
// following should only be used for debugging
|
||||
const std::tr1::shared_ptr<E>&
|
||||
|
||||
@@ -70,11 +70,11 @@ license.</a></p>
|
||||
more and more member functions.
|
||||
These member functions have nothing to do with the primary primary
|
||||
purpose for pvData:
|
||||
<blockquote>pvData (Process Variable Data) defines and implements an efficent
|
||||
<blockquote>pvData (Process Variable Data) defines and implements an efficient
|
||||
way to store, access, and communicate memory resident data structures.</blockquote>
|
||||
This statement appears as the first sentence of pvDataJava.html.
|
||||
A few sentances later the document makes it clear that communication
|
||||
includes efficent network communication.
|
||||
A few sentences later the document makes it clear that communication
|
||||
includes efficient network communication.
|
||||
Thus pvData provides an interface for network accessible structured data.
|
||||
The problem of adding member functions that have nothing to do with the primary purpose
|
||||
started with the Java API.
|
||||
@@ -82,7 +82,7 @@ It already had extra methods that solved problems that should have had a differe
|
||||
This document removes the extra methods so that when new problems arise in the future
|
||||
the solution will not involve adding new member functions to the introspection and data API.
|
||||
</p>
|
||||
<p>The introspection and data API for pvData should only encapuslate methods that support the primary purpose
|
||||
<p>The introspection and data API for pvData should only encapsulate methods that support the primary purpose
|
||||
stated above.
|
||||
The interfaces for C++ and Java should be similar so that
|
||||
someone who understands the interface in one of the languages
|
||||
@@ -308,7 +308,7 @@ public interface PVDataCreate {
|
||||
The existing Java implementation of toString displayed all elements.
|
||||
For large arrays this is not desirable.
|
||||
The new methods provide a way for the client to limit the number of elements.
|
||||
The default might be set to something like display up to 10 elements with 5 fron the beginning and 5 from the end.</p>
|
||||
The default might be set to something like display up to 10 elements with 5 from the beginning and 5 from the end.</p>
|
||||
<p>For C++ this can be a replacement for dumpValue.</p>
|
||||
<h3>PVBooleanArray, ..., PVStructureArray</h3>
|
||||
<p>The old get and put are replaced by two new and simpler methods:
|
||||
|
||||
Reference in New Issue
Block a user