Difference between revisions of "Extensions.DiagCom.CloseComChannel"
Jump to navigation
Jump to search
| Line 8: | Line 8: | ||
== Description == | == Description == | ||
| − | OTX CloseComChannel activity is used for the [[Diagnosis Runtime System]] to announce that an open communication channel all relevant resources can be released and closed. | + | OTX CloseComChannel activity is used for the [[Diagnosis Runtime System]] to announce that an open communication channel that all relevant resources can be released and closed. |
| − | {{ | + | {{ComChannelMemoryUsageNote}} |
| + | {{Important|Please note that the use of a shared '''ComChannel''' can bring the OTX runtime system in an undefined state and that is this case is not validated at design time!}} | ||
== Properties == | == Properties == | ||
Revision as of 13:56, 22 October 2014
Classification
| Name | CloseComChannel |
| Short Description | Closes a communication channel |
| Class | Action |
| Extension | OTX DiagCom extension |
| Group | ComChanel related actions |
| Exceptions | InvalidReferenceException |
| Checker Rules | - |
| Standard Compliant | Yes |
Pseudo-Code Syntax
CloseComChannel(ComChannel myComChannel);Description
OTX CloseComChannel activity is used for the Diagnosis Runtime System to announce that an open communication channel that all relevant resources can be released and closed.
Important: Long-time running procedures should note that the OTX runtime will close open ComChannels (see GetComChannel) solely via the CloseComChannel activity! This has an impact on the long-time stability of the runtime environment. To avoid memory leaks, ComChannels should not be opened implicitly, like
ExecuteDiagService(CreateDiagServiceByName(GetComChannel("LL_AirbaUDS","",false), "DiagnServi_ReadDataByIdentECUIdent"), ...);because the resources cannot be released until the completion of runtime execution. Better use: ComChannel comChannel = GetComChannel("LL_AirbaUDS","",false);
DiagService diagService = CreateDiagServiceByName(comChannel, "DiagnServi_ReadDataByIdentECUIdent"));
ExecuteDiagService(diagService, ...);
...
CloseComChannel(comChannel);For the short-dated execution of procedures, this is of minor importance! |
| Important: Please note that the use of a shared ComChannel can bring the OTX runtime system in an undefined state and that is this case is not validated at design time! |
Properties
| Name | Data Type | Class | Default | Cardinality | Description |
| ComChannel | ComChannel | Variable | - | [1] | Communication Channel (Control unit). |
Examples
ComChannel myComCannel = GetComChannel("LL_AirbaUDS", "", false);
//Code example using the variable myComChannel
//...
CloseComChannel(myComChannel);