Edge Software Catalog
Support for issues related to Edge Software Catalog
441 Discussions

eii-messagebus msgbus_recv_ready_poll() ?

numo68
Beginner
1,013 Views

Hello,

we are developing an application interfacing to the EII message bus. As this application might be targeted to an embedded device with limitations regarding the resources such as number of threads used, we would like to utilize a single message loop handling the message bus interface.

The msgbus.h contains the following:

/**
* Set of receive context to be used with `msgbus_recv_ready_poll()` method.
*/
typedef struct {
int size;
int max_size;
bool* tbl_ready;
recv_ctx_t** tbl_ctxs;
} recv_ctx_set_t;

that looks promising. There is however no msgbus_recv_ready_poll() function implemented nor is the type used anywhere. Also all the examples I have found just use one thread per topic.

Is there any way to use a kind of select()-like interface to the bus?

Thanks

Labels (1)
0 Kudos
1 Solution
JesusE_Intel
Moderator
913 Views

Hi numo68,


I'm sorry for the delay in our response. I was able to find additional information from the development team.


  1. There is no function "msgbus_recv_ready_poll" in the API present for the Message Bus. The mention of this function is only a comment but there is no implementation.
  2. These are the only available "RECV" functions. Please note they are all single threaded.
    1. msgbus_recv_nowait
    2. msgbus_recv_timedwait
    3. msgbus_recv_wait


Regarding your question "Is there any way to use a kind of select()-like interface to the bus?", could you help us understand what you mean and provide more information on what you are trying to accomplish?


Regards,

Jesus


View solution in original post

0 Kudos
3 Replies
JesusE_Intel
Moderator
1,002 Views

Hi numo68,


Looking through the Open Edge Insights GitHub repository, I was unable to find an example where such function is used.

I have reached out to my peers for additional input on this subject and will let you know what I find out.


Regards,

Jesus


0 Kudos
JesusE_Intel
Moderator
914 Views

Hi numo68,


I'm sorry for the delay in our response. I was able to find additional information from the development team.


  1. There is no function "msgbus_recv_ready_poll" in the API present for the Message Bus. The mention of this function is only a comment but there is no implementation.
  2. These are the only available "RECV" functions. Please note they are all single threaded.
    1. msgbus_recv_nowait
    2. msgbus_recv_timedwait
    3. msgbus_recv_wait


Regarding your question "Is there any way to use a kind of select()-like interface to the bus?", could you help us understand what you mean and provide more information on what you are trying to accomplish?


Regards,

Jesus


0 Kudos
JesusE_Intel
Moderator
893 Views

If you need any additional information, please submit a new question as this thread will no longer be monitored.


0 Kudos
Reply