-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create consistent SB transmit/receive API's, refactored to utilize the zero copy pattern #1019
Comments
I like the idea of getting rid of the "Pass" variants - or at least justify why we would need to send messages that don't increment the sequence count. This seems like an odd thing to do - because the whole point of a sequence count is for a receiver to know if they missed one. If we duplicate sequence numbers then it would defeat the purpose. |
SBN needs it... |
- Added CFE_SB_TransmitMsg, CFE_SB_TransmitBuffer, CFE_SB_ReceiveBuffer (partial nasa#1019 fix) - Replace CFE_SB_RcvMsg with CFE_SB_ReceiveBuffer - Deprecated CFE_SB_SendMsg, CFE_SB_PassMsg, CFE_SB_RcvMsg CFE_SB_ZeroCopyPass, CFE_SB_ZeroCopySend - Use CFE_SB_Buffer_t for receiving and casting to command types - Use CFE_MSG_CommandHeader_t and CFE_MSG_TelemetryHeader_t in command and telemetry type definitions - Use CFE_SB_TransmitMsg to copy the command and telemetry into a CFE_SB_Buffer_t and send it where needed - Avoids need to create send buffers within the app (or union the packet types with CFE_SB_Buffer_t) - Eliminates references to CFE_SB_CmdHdr_t and CFE_SB_TlmHdr_t that formerly enforced alignment since these had potential to change the actual packet sizes - No need to cast to CFE_MSG_Message_t anywhere since it's available in the CFE_SB_Buffer_t union - CFE_MSG_Size_t redefined as size_t to simplify future transition - Replaced Syslog with SysLog for consistency - Added Cmd to all command typedefs - Replaced CFE_SB_CMD_HDR_SIZE and CFE_SB_TLM_HDR_SIZE with sizeof the appropriate type
- Added CFE_SB_TransmitMsg, CFE_SB_TransmitBuffer, CFE_SB_ReceiveBuffer (partial nasa#1019 fix) - Replace CFE_SB_RcvMsg with CFE_SB_ReceiveBuffer - Deprecated CFE_SB_SendMsg, CFE_SB_PassMsg, CFE_SB_RcvMsg CFE_SB_ZeroCopyPass, CFE_SB_ZeroCopySend - Use CFE_SB_Buffer_t for receiving and casting to command types - Use CFE_MSG_CommandHeader_t and CFE_MSG_TelemetryHeader_t in command and telemetry type definitions - Use CFE_SB_TransmitMsg to copy the command and telemetry into a CFE_SB_Buffer_t and send it where needed - Avoids need to create send buffers within the app (or union the packet types with CFE_SB_Buffer_t) - Eliminates references to CFE_SB_CmdHdr_t and CFE_SB_TlmHdr_t that formerly enforced alignment since these had potential to change the actual packet sizes - No need to cast to CFE_MSG_Message_t anywhere since it's available in the CFE_SB_Buffer_t union - CFE_MSG_Size_t redefined as size_t to simplify future transition - Replaced Syslog with SysLog for consistency - Added Cmd to all command typedefs - Replaced CFE_SB_CMD_HDR_SIZE and CFE_SB_TLM_HDR_SIZE with sizeof the appropriate type
- Added CFE_SB_TransmitMsg, CFE_SB_TransmitBuffer, CFE_SB_ReceiveBuffer (partial nasa#1019 fix) - Replace CFE_SB_RcvMsg with CFE_SB_ReceiveBuffer - Deprecated CFE_SB_SendMsg, CFE_SB_PassMsg, CFE_SB_RcvMsg CFE_SB_ZeroCopyPass, CFE_SB_ZeroCopySend - Use CFE_SB_Buffer_t for receiving and casting to command types - Use CFE_MSG_CommandHeader_t and CFE_MSG_TelemetryHeader_t in command and telemetry type definitions - Use CFE_SB_TransmitMsg to copy the command and telemetry into a CFE_SB_Buffer_t and send it where needed - Avoids need to create send buffers within the app (or union the packet types with CFE_SB_Buffer_t) - Eliminates references to CFE_SB_CmdHdr_t and CFE_SB_TlmHdr_t that formerly enforced alignment since these had potential to change the actual packet sizes - No need to cast to CFE_MSG_Message_t anywhere since it's available in the CFE_SB_Buffer_t union - CFE_MSG_Size_t redefined as size_t to simplify future transition - Replaced Syslog with SysLog for consistency - Added Cmd to all command typedefs - Replaced CFE_SB_CMD_HDR_SIZE and CFE_SB_TLM_HDR_SIZE with sizeof the appropriate type
- Added CFE_SB_TransmitMsg, CFE_SB_TransmitBuffer, CFE_SB_ReceiveBuffer (partial nasa#1019 fix) - Replace CFE_SB_RcvMsg with CFE_SB_ReceiveBuffer - Deprecated CFE_SB_SendMsg, CFE_SB_PassMsg, CFE_SB_RcvMsg CFE_SB_ZeroCopyPass, CFE_SB_ZeroCopySend - Use CFE_SB_Buffer_t for receiving and casting to command types - Use CFE_MSG_CommandHeader_t and CFE_MSG_TelemetryHeader_t in command and telemetry type definitions - Use CFE_SB_TransmitMsg to copy the command and telemetry into a CFE_SB_Buffer_t and send it where needed - Avoids need to create send buffers within the app (or union the packet types with CFE_SB_Buffer_t) - Eliminates references to CFE_SB_CmdHdr_t and CFE_SB_TlmHdr_t that formerly enforced alignment since these had potential to change the actual packet sizes - No need to cast to CFE_MSG_Message_t anywhere since it's available in the CFE_SB_Buffer_t union - CFE_MSG_Size_t redefined as size_t to simplify future transition - Replaced Syslog with SysLog for consistency - Added Cmd to all command typedefs - Replaced CFE_SB_CMD_HDR_SIZE and CFE_SB_TLM_HDR_SIZE with sizeof the appropriate type
- Added CFE_SB_TransmitMsg, CFE_SB_TransmitBuffer, CFE_SB_ReceiveBuffer (partial nasa#1019 fix) - Replace CFE_SB_RcvMsg with CFE_SB_ReceiveBuffer - Deprecated CFE_SB_SendMsg, CFE_SB_PassMsg, CFE_SB_RcvMsg CFE_SB_ZeroCopyPass, CFE_SB_ZeroCopySend - Use CFE_SB_Buffer_t for receiving and casting to command types - Use CFE_MSG_CommandHeader_t and CFE_MSG_TelemetryHeader_t in command and telemetry type definitions - Use CFE_SB_TransmitMsg to copy the command and telemetry into a CFE_SB_Buffer_t and send it where needed - Avoids need to create send buffers within the app (or union the packet types with CFE_SB_Buffer_t) - Eliminates references to CFE_SB_CmdHdr_t and CFE_SB_TlmHdr_t that formerly enforced alignment since these had potential to change the actual packet sizes - No need to cast to CFE_MSG_Message_t anywhere since it's available in the CFE_SB_Buffer_t union - CFE_MSG_Size_t redefined as size_t to simplify future transition - Replaced Syslog with SysLog for consistency - Added Cmd to all command typedefs - Replaced CFE_SB_CMD_HDR_SIZE and CFE_SB_TLM_HDR_SIZE with sizeof the appropriate type
Fixed in #1015, just didn't rename |
Is your feature request related to a problem? Please describe.
Duplicated logic in CFE_SB_SendMsg and CFE_SB_ZeroCopySend (and related APIs), refactor could simplify CFE_SB_SendMsgFull. Sending/receiving software bus buffers vs the less restrictive alignment message type is not clear, names don't mirror.
Describe the solution you'd like
Implement the following:
Possibly add flag for incrementing sequence count (instead of more API's like CFE_SB_PassMsg).
Describe alternatives you've considered
None
Additional context
Came from #1009 discussions
Requester Info
Jacob Hageman - NASA/GSFC
The text was updated successfully, but these errors were encountered: