This Method disables one or more Connections. Optionally, it also removes these Connections. It is recommended that this Method has the execute privilege for the well-known Role ConnectionAdmin as defined in Clause 5.9.
The signature of the Method is described below, and the arguments are described in Table 22.
Signature
CloseConnections (
[in] 0:NodeId[] ConnectionEndpoints,
[in] 0:Boolean Remove,
[out] 0:StatusCode[] Results
);
Table 22 – CloseConnections Method arguments
Argument |
Description |
ConnectionEndpoints |
The list of Connections to be closed. |
Remove |
When TRUE, the Objects dynamically created for the Connection are removed. |
Results |
The results of closing the Connections identified by the ConnectionEndpoints argument, see Table 24. The length of this array shall match the length of the ConnectionEndpoints list. Clients may inspect this list to determine which Connections failed to be closed. |
The possible Method result codes are formally defined in Table 23.
Table 23 – CloseConnections Method result codes
Result Code |
Description |
Uncertain |
There was at least one error or warning for one of the Connections. Results will contain additional information. |
The possible Results StatusCodes are formally defined in Table 24.
Table 24 – Results StatusCodes
Result Code |
Description |
Bad_NodeIdUnknown |
The NodeId for the requested ConnectionEndpoint does not exist in the Server address space. |
Bad_NodeIdInvalid |
The syntax of the NodeId for the requested ConnectionEndpoint was invalid. |
Bad_InvalidArgument |
The NodeId for the requested ConnectionEndpoint was not a ConnectionEndpoint. |
The CloseConnections Method representation in the AddressSpace is formally defined in Table 25.
Table 25 – CloseConnections Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
3:CloseConnections |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
0:HasProperty |
Variable |
0:InputArguments |
0:Argument[] |
0:PropertyType |
M |
0:HasProperty |
Variable |
0:OutputArguments |
0:Argument[] |
0:PropertyType |
M |
0:GeneratesEvent |
ObjectType |
2:AuditUpdateMethodResultEventType |
Defined in 8.2 |
|
|
ConformanceUnits |
|||||
UAFX AutomationComponent Base |
The Method implementation shall disable all communication model Objects for each element in ConnectionEndpoints in an atomic operation.
If PubSub is used as the communication model for a ConnectionEndpoint, the Method implementation shall only disable the DataSetReader and DataSetWriter referenced by ToDataSetReader and/or ToDataSetWriter References if no further References from other ConnectionEndpoints exist. Their parent Objects (WriterGroup, ReaderGroup, PubSubConnection, and PublishSubscribe) shall be left in their current state.
The behaviour of the Client Server communication model may be defined in a future version of this document.
The CleanupTimeout processing shall be disabled.
If Remove is TRUE, the Method implementation shall remove what has been dynamically created by EstablishConnections Method Call(s) related to the ConnectionEndpoints. This includes any configuration specific to the utilized communication model, all related communication model Objects if not referenced from other ConnectionEndpoints, the ConnectionEndpoints, and all persisted items. In addition, all ControlGroups-based restrictions placed on Objects shall be released. Preconfigured Objects or Objects referenced by other ConnectionEndpoints shall not be removed.
What occurs with the ConfigurationData that was applied when establishing the ConnectionEndpoints is vendor-specific.
NOTE A FunctionalEntity could provide application-specific behaviour for its ConfigurationData, i.e., it might roll it back to a predetermined setting, or it might leave it as configured.