[omniORB] [Q]report server architecture with omniOrb

Martin Trappel 0xCDCDCDCD at gmx.at
Fri Feb 6 09:37:21 GMT 2009


V S P wrote:
>> So what I thought, I need, is a way, may be,
>> for the ReportGenerator ::StartProcessingRequest to post a task
>> onto the internal OmniOrb queue (if such a thing exists)
>> such that one thread unlocks and starts processing the task.
(...)
> I think I am finally able to distill my question into something I can
> describe one sentense :-)
> 
> does omniOrb support non-blocking remote calls (from client-to-servants)
> and non-blocking calls to functions of the  Servant from within that
> servant 
> (using POA if that's relevant for the question)
> 
> if yes, is there example/description I can start looking at?
> 
> 

Your question has nothing to do with CORBA or omniORB.
Exactly What *your* implementation of the interface does is entirely up 
to you.
The non-blocking part of the call will be implemented by you, because 
you will have to decide if you return true or false after checking your 
internal state. CORBA/omniORB just is responsible for the communication 
framework, i.e. that you call to StartProcessingRequest gets to the 
right implementation.

So it might look like this:
0) Your method gets called by omniORB due to a remote (or local) invocation
1) You check if you're busy
2) If busy: return false
3) If not busy: You start new thread or process to do work
4) return true

br,
Martin





More information about the omniORB-list mailing list