Intel® Edge Software Hub
Get answers from community peers to your questions about building Edge Software Hub solutions for edge compute node.
Announcements
Welcome to the Intel Community! If you like the answer to your question, please mark it as 'Accepted Solution' to help others.

The Edge Software Vision Package for Red Hat Enterprise Linux is now available here.

Learn more about developing on Intel® Hardware and Software here.
394 Discussions

eii-messagebus msgbus_recv_ready_poll() ?

numo68
Beginner
542 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
442 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
531 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
443 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
422 Views

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


0 Kudos
Reply