diff --git a/src/ca/CAref.html b/src/ca/CAref.html index 48d6a5b2f..3b1b46021 100644 --- a/src/ca/CAref.html +++ b/src/ca/CAref.html @@ -151,6 +151,7 @@ height="31" width="88">

  • dbr_size[]
  • dbr_size_n
  • dbr_value_size[]
  • +
  • dbr_type_to_text
  • SEVCHK
  • @@ -653,6 +654,11 @@ request transportation of large arrays.

    {N.N.N.NN.N.N.N:P...} <none> + + EPICS_CAS_IGNORE_ADDR_LIST + {N.N.N.NN.N.N.N:P...} + <none> + @@ -682,10 +688,10 @@ point-to-point interfaces found in the host.

    If EPICS_CAS_BEACON_ADDR_LIST is defined then its contents will be used to augment this list. Individual entries in EPICS_CAS_BEACON_ADDR_LIST may override the destination port number if ":nnn" follows the host name or IP -address there. 1Alternatively, if EPICS_CAS_BEACON_ADDR_LIST is -not defined, EPICS_CA_ADDR_LIST is defined, and EPICS_CAS_INTF_ADDR_LIST is -not defined, then the contents of EPICS_CA_ADDR_LIST will be used to augment -the list. Otherwise, the list is not augmented.

    +address there. Alternatively, if EPICS_CAS_BEACON_ADDR_LIST is not defined, +EPICS_CA_ADDR_LIST is defined, and EPICS_CAS_INTF_ADDR_LIST is not defined, +then the contents of EPICS_CA_ADDR_LIST will be used to augment the list. +Otherwise, the list is not augmented.

    The EPICS_CAS_BEACON_PORT parameter specifies the destination port for server beacons. The only exception to this occurs when ports are specified @@ -696,10 +702,21 @@ specified in EPICS_CA_REPEATER_PORT.

    Binding a Server to a Limited Set of Network Interfaces

    The parameter EPICS_CAS_INTF_ADDR_LIST allows a ca server to bind itself -to a limited set of network interfaces (each specified by its IP address). By -defualt, the CA server is accessible from all network interfaces configured -into its host. In R3.14 and R3.13 the CA server employed by iocCore does -not implemet this feature.

    +to, and therefore accept messages only from, a limited set of network +interfaces (each specified by it's IP address). Specifically, UDP search +messages addressed to both the IP addresses in EPICS_CAS_INTF_ADDR_LIST and +also to the broadcast addresses of the corresponding LAN interfaces will be +accepted by the server. By defualt, the CA server is accessible from all +network interfaces configured into its host. In R3.14 and previous +releases the CA server employed by iocCore does not implemet this +feature.

    + +

    Ignoring Process Variable Name Resolution Requests From Certain Hosts

    + +

    Name resolution requests originating from any of the IP addresses +specified in the EPICS_CAS_IGNORE_ADDR_LIST parameter are not replied to. +In R3.14 and previous releases the CA server employed by iocCore does not +implemet this feature.

    Client Configuration that also Applies to Servers

    @@ -1020,27 +1037,40 @@ server.

    Connection Management

    -

    You should assume that the availablity of paths through your network 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 immediatly 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. A connection state change call -back function may be installed to be run whenever a CA channel connects or -disconnects. If a connection state change call back function is not installed -(if a nil function pointer is supplied) then the user must wait for -successful status from ca_pend_io prior to using the channel for the first -time. Once the channel connects the user can freely perform IO operations -through the channel, but he should expect that the channel might disconnect -at any time due to network connectivity disruptions or server restarts. -Otherwise, if a connection state change call back function is supplied, one -of the arguments to this function distinguishes between connect and -disconnect events. If a connection state change call back function is -installed on a particular channel by the user ca_pend_io will not block for -the channel to connect. The user's connection state change function will be -run immediately when the channel is created if the CA client and the server -are both hosted in the same address space.

    +

    Application programs should assume that CA server may be restarted, and +that network connectivity is transient. When you create a CA channel it's +initial connection state will most commonly be disconnected. If the Process +Variable's server is available the library will immediatly 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.

    + +

    Two methods may be used to dermine if a channel has connected: the +application program can block in ca_pend_io, or the application program can +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 conection +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_create_channel if the CA client and +the 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.

    Thread Safety and Preemptive Callback to User Code

    @@ -1690,7 +1720,12 @@ immediately without activities.

    The delay specified to ca_pend_io() should take into account worst case -network delays such as Ethernet collision backoff and retransmission.

    +network delays such as Ethernet collision exponential backoff until +retransmission delays which can be quite long on overloaded networks.

    + +

    Unlike ca_pend_event, this routine will +not process CA's background activities if none of the selected IO requests +are pending.

    Arguments

    @@ -1703,6 +1738,9 @@ network delays such as Ethernet collision backoff and retransmission.

    ECA_NORMAL - Normal successful completion

    +

    ECA_TIMEOUT - Selected IO requests didnt complete before specified +timeout

    +

    ECA_EVDISALLOW - Function inappropriate for use within an event handler

    See Also

    @@ -1748,8 +1786,11 @@ activity is processed for TIMEOUT seconds.

    When ca_poll is invoked the send buffer is flushed and any outstanding CA background activity is processed.

    -

    The routine will not return before the time-out expires and all unfinished -channel access labor has been processed.

    +

    This routine will not return before the specified time-out +expires and all unfinished channel access labor has been processed, and +unlike ca_pend_io it does not +indicate anything about the status of pending IO requests when it +returns ECA_NORMAL.

    Arguments

    @@ -2252,7 +2293,30 @@ field is returned otherwise the size of the type is returned.

    otherwise the size in bytes of the type
    -

    ca_test_event()

    +

    dbr_type_to_text()

    +
    #include <db_access.h>
    +const char * dbr_type_text ( chtype TYPE );
    + +

    Description

    + +

    Returns a constant null terminated string corresponding to the specified +dbr type.

    + +

    Arguments

    +
    +
    TYPE
    +
    The data type code. A member of the set of DBR_XXXX in + db_access.h.
    +
    + +

    Returns

    +
    +
    STRING
    +
    +
    The const string corresponding to the DBR_XXX type.
    +
    + +

    ca_test_event()

    #include <cadef.h>

    Description