_args in stub returns NULL when total size of the returned packets is high



Hi,

 

I call a Corba method, that is ORBit_c_stub_invoke(). I know it will get hundreds of valError packets from the remote server for my provisioning.

 

void SMSProvExt_WorkOrderIntf_getValErrors(SMSProvExt_WorkOrderIntf _obj, const CORBA_char * reqName, const CORBA_char * headName, SMSProvExt_ValErrorList** data, CORBA_Environment *ev){

            gpointer _args[3];

            _args[0] = (gpointer)&reqName;

            _args[1] = (gpointer)&headName;

            _args[2] = data;

            ORBit_c_stub_invoke (_obj, &SMSProvExt_WorkOrderIntf__iinterface.methods, 17, NULL, _args, NULL, ev, SMSProvExt_WorkOrderIntf__classid,

G_STRUCT_OFFSET      (POA_SMSProvExt_WorkOrderIntf__epv, getValErrors),

                        (ORBitSmallSkeleton) _ORBIT_skel_small_SMSProvExt_WorkOrderIntf_getValErrors);

}

 

However, when it is finished, then I check "_args" and it is just NULL and so I cannot get the messages. So, is there a limit on the packets retrieved from the server.

 

I got snoop traces and saw that after some number of packets (e.g. about 500 packets in one of my tests), my box sends out "TCP ACKed lost segment" and restarts getting the packets from the beginning again. But, in this time, after getting some packets again, it sends out "[RST, ACK]" and _args returns NULL. This always occurs on the same number of packets for a specific test. So, I am suspicious if Corba has a limitation on the total size of the returned packets. Any comment pls?

 

Not: The remote server uses TAO ORB. So, this is a TAO - Orbit tunnel. The Orbit version I used is 2.14.16.

 

Regards,

Said




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]