Skip to content

Add source-routing feature to Software Bus #2362

@jphickey

Description

@jphickey

Is your feature request related to a problem? Please describe.
Normally, software bus messages are fully assembled by clients, then passed to the software bus via e.g. CFE_SB_TransmitMsg() for delivery to subscribers. This routing to subscribers is currently done based on the MsgId value that is present in the message - that is, the MsgId is looked up in the routing table, which is in turn translated to a list of destinations (subscribers) to deliver that message to.

Describe the solution you'd like
Add an alternative API that allows the message to be routed to destination(s) that are are given explicitly in the API call. That is, allow the caller to specify the MsgId that SB should use to route and deliver the message. Specifically - this passed-in MsgId for routing may be different than the MsgId value contained in the message.

Describe alternatives you've considered
N/A

Additional context
The use-case for this feature has to do with complex systems with distributed software bus services across many instances of CFE. In this context the destination may not be directly reachable from the source, but reachable through some sort of intermediate hop. This feature gives the needed flexibility to work with such an architecture, by allowing messages to be routed to an intermediate delivery assistant app that may not be the final destination of the message.

Requester Info
Joseph Hickey, Vantage Systems, Inc.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions