diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html new file mode 100644 index 0000000..ec45380 --- /dev/null +++ b/documentation/RELEASE_NOTES.html @@ -0,0 +1,54 @@ +
The main changes since release 3.0.2 are:
+PVScalarArray, PVStructureArray, and PVUnionArray all enforce COW (Copy On Write) Semantics. +In order to limit memory usage the storage for raw data is managed via a new shared_vector facility. +This allows multiple instances of array data to use the shared raw data. +COW is implemented via shared_vectors of const data, i. e. data that can not be modified.
+This is replaced by std::string.
+pvData.h and pvIntrospect no longer defines toString +Instead they have stream support. +pvIntrospect uses method dump and pvData uses dumpValue. +For example:
+ PVDoublePtr pvValue;
+ String buffer;
+ pvValue->toString(&buffer);
+ cout << buffer << endl;
+ buffer.clear();
+ pvValue->getField()->toString(&buffer);
+ cout << buffer << evdl;
+
+is replaced by
+ PVDoublePtr pvValue;
+ cout << pvValue=>dumpValue(cout) << endl
+ cout << pvValue->getField()->dump(cout) << endl;
+
+There are two new basic types: union_t and unionArray.
+A union is like a structure that has a single subfield. +There are two flavors:
+The field type can be dynamically changed.
+This consists of createRequest and pvCopy. +createRequest was moved from pvAccess to here. +pvCopy is moved from pvDatabaseCPP and now depends +only on pvData, i. e. it no longer has any knowledge of PVRecord.
+This is for is for use by code that implements pvAccess monitors. +This is prototype and is subject to debate.
+This was the starting point for RELEASE_NOTES
\ No newline at end of file diff --git a/documentation/TODO.html b/documentation/TODO.html new file mode 100644 index 0000000..313b7bd --- /dev/null +++ b/documentation/TODO.html @@ -0,0 +1,12 @@ +pv/printer.h is not used.
+There is a lot of public code that does not have doxygen tags.
+PVUnion, PVUnionArray, and PVStructureArray all have elements +that are treated like a top level field. +The implementation should be changed so that it implements PostHandler. +Thus when an element is modified it will call postPut for itself.
+A debate is on-going about what semantics should be.
\ No newline at end of file diff --git a/documentation/TODO.md b/documentation/TODO.md index d5d93d8..ffc147f 100644 --- a/documentation/TODO.md +++ b/documentation/TODO.md @@ -26,10 +26,3 @@ monitorPlugin A debate is on-going about what semantics should be. -PVFieldConstPtr etc -------------------- - -In addition to PVFieldPtr should PVFieldConstPtr exist. -But this means that all methods defined in pvDataCPP must be checked. -This is a BIG job. -