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 |