CORBA Event Service in C++

Hello Experts,

I'm not sure this question is best posted here, but I couldn't find any topic related to CORBA...

Anyway, here is my question:

I'm currently develop an application using Iona's Orbix version 3.3.1 for C++ on a Unix machine.  I know Iona has newer and better version of Orbix, but I'm kind of stuck with this version of Orbix 3.3.1 for now.  By using one of the C++ example in the demos, I successfully created a PushSupplier and several push consumers by using Iona's Orbix Events Services.  The problem with this Event Services is that every time I do a broadcast for an event, if the first consumer in the list takes a long time to return to the push() method, then all the subsequent ones have to wait.  So my question is :  Is there anyway to setup some CORBA system option flag, or anything like that, for Event Services to bypass the slow consumer (for example in 1 second timeout), so that the next one can get the event without having to wait until all the previous ones return?

Thanks alot.
hoangohoangoAsked:
Who is Participating?
 
teratomaConnect With a Mentor Commented:
A CORBA scheduler shouldn't involve blocking the whole ORB while waiting for a consumer's response.  I'd tend to think this is some kind of demo behavior that doesn't happen in production mode.  For example, are you set up as a distributed system or is it just a single-machine demo?  I know nothing of Orbix so I can't say whether Iona owns the bug.
0
 
avinhphamConnect With a Mentor Commented:
Orbix Event Services 3.X uses a round-robin algorithm when broadcasting an event.  Therefore, each consumer is delivered the event in a round-robin system through the synchronous push() method.  If a consumer is slow in returning from the push() method, all other consumers will be affected.  OrbixNotification 2000 uses UDP broadcast with Quality of Services, which fixed this problem.

Since you are stuck with this old version of Orbix Event Services 3.X, there might be some options available for you to set the timeout flag for each broadcast.  Check out the following website for more information:
http://www.iona.com/support/knowledge_base/index.xml

avinhpham
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.