diff --git a/src/ca/CAref.html b/src/ca/CAref.html index d2c00c0e4..240a7a0ff 100644 --- a/src/ca/CAref.html +++ b/src/ca/CAref.html @@ -1551,41 +1551,36 @@ in the server.
Application programs should assume that CA server may be restarted, and -that network connectivity is transient. When you create a CA channel it's +
Application programs should assume that CA servers may be restarted, and +that network connectivity is transient. When you create a CA channel its initial connection state will most commonly be disconnected. If the Process Variable's server is available the library will immediately initiate the necessary actions to make a connection with it. Otherwise, the client library -will monitor the state of servers on the network and immediately connect or -reconnect with the process variable's server when it becomes available.
+will monitor the state of servers on the network and connect or reconnect +with the process variable's server as it becomes available. After the channel +connects the application program can freely perform IO operations through the +channel, but should expect that the channel might disconnect at any time due +to network connectivity disruptions or server restarts. -Two methods may be used to determine if a channel has connected: the
-application program can block in ca_pend_io, or the application program can
+
Three methods can be used to determine if a channel is connected: the
+application program might call ca_state
+to obtain the current connection state, block in ca_pend_io until the channel connects, or
install a connection callback handler when it calls ca_create_channel. The ca_pend_io approach is best suited to simple
-command line programs with a short runtime duration, and the connection
-callback method is best suited to toolkit components with a long runtime
-duration. If a connection state change call back function is not
-installed when ca_create_channel is called (if a nil function
-pointer is supplied) then the application program must wait for
-successful status from ca_pend_io
-prior to using the channel for the first time. Otherwise, if a connection
-state change call back function is supplied, then one of the
-arguments to this function distinguishes between connect and disconnect
-events, and ca_pend_io will not
-block for the channel to connect. The user's connection state change
-function will be run immediately from within ca_state is appropriate
+only in programs that prefer to poll for connection state changes instead of
+opting for asynchronous notification. The ca_pend_io function
+blocks only for channels created specifying a nill connection handler
+callback function. The user's connection state change function will be run
+immediately from within ca_create_channel if the CA client and
-the server are both hosted within the same address space (within the same
+CA server are both hosted within the same address space (within the same
process).
Once the channel connects the application program can freely perform IO -operations through the channel, but it should expect that the channel might -disconnect at any time due to network connectivity disruptions or server -restarts.
-