DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: std Rolle: constitutive Konfidenz: 95%

SNIP_CLASSIC_STD_SECTION_8_5_4_4_IocReceive_IocRead

Quelle: SWS_OS.pdf (Seite 225) • Ziel-Anforderung: SWS_Std_00005

Wortlaut

8.5.4.4 IocReceive/IocRead The IocRead API call is generated for "data" and the IocReceive API call is generated for "events". [SWS_Os_00738] Definition of API function IocReceive_<IocId> Upstream requirements: SRS_Os_80020 ⌈ Service Name IocReceive_<IocId> Syntax Std_ReturnType IocReceive_<IocId> ( <Data> OUT, [uint16* numberOfBytesOUT] ) Service ID [hex] 0x22 Sync/Async Synchronous Reentrancy This function is generated individually for each receiver. The individual function is not reentrant (if called from different runnable entities that belong to the same receiver), but different functions can be called in parallel. Parameters (in) None Parameters (inout) None OUT Data reference to be filled with the received data element. Parameters (out) numberOfBytesOUT (optional) data reference to be filled with the length of the received data element in bytes. Return value Std_ReturnType IOC_E_OK: Data was received successfully IOC_E_NO_DATA: No data is available for reception. IOC_E_LOST_DATA: This Overlayed Error indicates that the IOC communication service refused an IOCSend request from sender due to an internal buffer overflow. There is no error in the data returned in parameter. Description Performs an "explicit" sender-receiver reception of data elements with "event" semantic for a unidirectional communication between OS-Applications located on the same or on different cores.. <IocId> is a unique identifier that references a unidirectional 1:1 or N:1 communication. Available via Ioc.h ⌋ [SWS_Os_91005] Definition of API function IocRead_<IocId>[_<ReceiverId>] Upstream requirements: SRS_Os_80020 ⌈ Service Name IocRead_<IocId>[_<ReceiverId>] Syntax Std_ReturnType IocRead_<IocId>[_<ReceiverId>] ( <Data> OUT, [uint16* numberOfBytesOUT] ) Service ID [hex] 0x23 Sync/Async Synchronous Reentrancy Non Reentrant This function is generated individually for each receiver. The individual function is not reentrant (if called from different runnable entities that belong to the same receiver), but different functions can be called in parallel. Parameters (in) None Parameters (inout) None OUT Data reference to be filled with the received data element. Parameters (out) numberOfBytesOUT (optional) data reference to be filled with the length of the received data element in bytes. Return value Std_ReturnType IOC_E_OK: Data was received successfully Description Performs an "explicit" sender-receiver reception of data elements with "data" semantic for a unidirectional communication between OS-Applications located on the same or on different cores. <IocId> is a unique identifier that references a unidirectional 1:1 or N:1 communication. <ReceiverId> is used only in N:M communication. Together with <IocId>, it uniquely identifies the receiver. It is separated from <IocId> with an underscore. If communication is different from N:M it shall be omitted. Available via Ioc.h ⌋ General: [SWS_Os_00739] Upstream requirements: SRS_Os_80020 ⌈A successful call to the IocReceive/IocRead function indicates that data has been received successfully in the OUT <Data> given in parameter. The IocReceive/IocRead function has to be generated in case of intra-core and inter-core communication.⌋ [SWS_Os_00822] Upstream requirements: SRS_Os_80020 ⌈The IocReceive/IocRead resp. IocReceiveGroup/IocReadGroup function shall be wrapped with the memory allocation keywords mechanism 1 #define OS_START_SEC_<sadm> 2 #include "Os_MemMap.h" 3 4 <IocReceive, IocReceiveGroup , IocRead, IocReadGroup> 5 6 #define OS_STOP_SEC_<sadm> 7 #include "Os_MemMap.h" where <sadm> is the shortName of the SwAddrMethod referenced by the OsMemoryMappingCodeLocationRef of the reading OsApplication configured in OsIocReceivingOsApplicationRef of the respective OsIocCommunication channel.c() ⌋ [SWS_Os_00740] Upstream requirements: SRS_Os_80020 ⌈If the OsIocReceiverPullCB attribute is defined with a callback function name, the IOC shall call this function on the receiving core for each data transmission.⌋ Parameters: [SWS_Os_00741] Upstream requirements: SRS_Os_80020 ⌈In case of "data" semantic the IocRead function shall always be able to deliver the last available datum. In case of senders from different cores, the precision of the order might be limited by the hardware and implementation.⌋ [SWS_Os_00742] Upstream requirements: SRS_Os_80020 ⌈The IocReceive/IocRead function shall guarantee upon returning from execution that the reference given in parameter is safe for use.⌋ [SWS_Os_00803] Upstream requirements: SRS_Os_80020 ⌈The OUT <Data> parameter of the IocReceive/IocRead function shall be passed as an pointer to the array base type for arrays and by reference for all other types.⌋ Returned values: [SWS_Os_00743] Upstream requirements: SRS_Os_80020 ⌈The IocReceive/IocRead function shall return IOC_E_OK if the data was received successfully in the OUT <Data> parameter.⌋ [SWS_Os_00744] Upstream requirements: SRS_Os_80020 ⌈In case of "event" semantic and if no data is available the function IocReceive shall return IOC_E_NO_DATA.⌋ [SWS_Os_00745] Upstream requirements: SRS_Os_80020 ⌈In case of "event" semantic an IOC_E_LOST_DATAOverlayed Error shall be returned by the IocReceive function if the IOC communication service refused an IocSend request from sender due to an internal buffer overflow. There is no error in the data returned in parameter.⌋

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

Cited verbatim in the snippet (deterministic citation).

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument SWS_OS.pdf
Dokumentseite Seite 225
Ziel-Modul std (classic)
Ziel-Anforderung SWS_Std_00005
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95