[omniORB] Data transfer through callbacks

Thomas Lockhart lockhart at fourpalms.org
Fri Mar 8 15:38:37 GMT 2013


On 3/8/13 2:24 AM, Mahanta, Dhruba wrote:
>
> Hi All,
>
> I have a call back registered with a server which looks like
>
> Interface callBack_
>
> {
>
>                 oneway void PushData(in DataStruct data);
>
> }
>
> In the server I have the below sequence of calls
>
> callback_->PushData(data_1_GB);
>
> callback_->PushData(data_1_KB);
>
> Is there a chance that the 1KB data reaches the client first?
>
> If yes, is there a way to avoid it?
>
>
Not sure about the ordering with the oneway; from what I understand you 
would lose your synchronization at the point that the packet gets 
delivered but it may not be fully processed before the call returns in 
your server. I could imagine that the first packet could be delivered 
but not fully processed, that task could be time-sliced out by the 
scheduler, then the second packet could arrive and be handled by a 
different ORB thread.

You could run the ORB with a single-threaded model, but why not take out 
the oneway in the interface and not have to worry about it?

hth

                                  - Tom

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20130308/1b932dd5/attachment.html>


More information about the omniORB-list mailing list