EasyChannel
This provides methods for connecting to a channel and for creating instances of
EasyField, EasyProcess, ..., EasyRPC.
-Connection must be made before any crete method is called or
+
Connection must be made before any create method is called or
an exception is raised.
The following is a synchronous connection request:
-easyChannel->connect(5.0); // BLOCKS
+easyChannel->connect(5.0); // BLOCKS AND THROWS IF NO CONNECT
This blocks until then connection is made or until timout occurs.
An exception is raised if the connection request fails.
@@ -134,7 +134,7 @@ An exception is raised if the connection request fails.
easyChannel->issueConnect(); // DOES NOT BLOCK
.....
-Status status =easyChannel->waitConnect(5.0); // BLOCKS
+Status status =easyChannel->waitConnect(5.0); // BLOCKS DOES NOT THROW
if(!status.isOK()) {
// failure do something
}
@@ -189,36 +189,36 @@ void easyData->putDouble(5.0);
This provides methods to connect to channelGet and to issue get request.
To connect via a single synchronous call:
-eastGet->connect(); // BLOCKS
+eastGet->connect(); // BLOCKS AND CAN THROW
This can also be done in two steps:
easyGet->issueConnect(); // DOES NOT BLOCK
...
-Status status = easyGet->waitConnect(); // BLOCKS
+Status status = easyGet->waitConnect(); // BLOCKS AND DOES NOT HROW
Once connected gets are issued via either:
-void easyGet->get();
+void easyGet->get(); // BLOCKS AND CAN THROW
or
easyGet->issueGet(); // DOES NOT BLOCK
...
-Status status = easyGet->waitGet(); // BLOCKS
+Status status = easyGet->waitGet(); // BLOCKS AND DOES NOT THROW
EasyPut
This is similar to easyGet except that it wraps channelPut instead of channelGet.
Once connected puts are issued via either:
-void easyPut->put();
+void easyPut->put(); // BLOCKS AND CAN THROW
or
easyPut->issuePut(); // DOES NOT BLOCK
...
-Status status = easyPut->waitPut(); // BLOCKS
+Status status = easyPut->waitPut(); // BLOCKS AND DOES NOT THROW
EasyMonitor
Connecting is similar to easyGet and easyPut.
@@ -287,7 +287,26 @@ It has methods:
Look at javaDoc for details.
EasyMultiChannel - Wrapper For Multiple Channels
-TBD
+EasyMultiChannel
+This provides methods for connecting to multiple channels.
+For now clients has no reason to use this directly.
+Instead they will use it via EasyMultiDouble or EasyNTMultiChannel.
+
+EasyMultiDouble
+This provides support for gets and puts to the value field of multiple channels.
+Each channel must have a value field that is a numeric scalar.
+The client always sees that data as a PVDoubleArray.
+All channels must connect.
+If any problems occur an exception is thrown.
+
+EasyNTMultiChannel
+This provides support for gets and puts to the value field of multiple channels.
+Each channel must have a value field.
+The client always sees that data as a NTMultiChannel, which is one
+of the types provided by normativeTypesCPP.
+All channels must connect.
+If any problems occur an exception is thrown.
+