From 90b7c9a17c8db09316c4c0477b1c760829b23406 Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Tue, 22 Jul 2014 08:49:02 -0400 Subject: [PATCH] change in TODO.md; add RELEASE_NOTES.html and TODO.html --- documentation/RELEASE_NOTES.html | 54 ++++++++++++++++++++++++++++++++ documentation/TODO.html | 12 +++++++ documentation/TODO.md | 7 ----- 3 files changed, 66 insertions(+), 7 deletions(-) create mode 100644 documentation/RELEASE_NOTES.html create mode 100644 documentation/TODO.html 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 @@ +

Release release/3.1 IN DEVELOPMENT

+

The main changes since release 3.0.2 are:

+ +

New Semantics for Arrays

+

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.

+

String no longer defined

+

This is replaced by std::string.

+

toString replaced by stream I/O

+

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;
+
+

union is a new basic type.

+

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.

+

copy

+

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.

+

monitorPlugin

+

This is for is for use by code that implements pvAccess monitors. +This is prototype and is subject to debate.

+

Release 3.0.2

+

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 @@ +

TODO

+

printer

+

pv/printer.h is not used.

+

doxygen

+

There is a lot of public code that does not have doxygen tags.

+

postMonitor: PVUnion, PVUnionArray, and PVStructureArray

+

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.

+

monitorPlugin

+

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. -