List Info

Thread: Issue: Invoking client callback outside skeleton implementation




Issue: Invoking client callback outside skeleton implementation
country flaguser name
United States
2007-03-28 02:51:15
Hello

With regards to Callbacks in ORBit2.2.9.8, I am noticing
that the callbacks only
work if invoked from within a skeleton implementation. i.e.
the following
message flow model

   inv-1
A -------------------> B

   inv-2
A <------------------  B

   rep-2
A -------------------> B

   rep-1
A <------------------  B


Instead I would like to implement the following model

   inv-1
A -------------------> B

   rep-1
A <------------------  B

   inv-2
A <------------------  B

   rep-2
A -------------------> B


I tried implementing it so that the object reference gets
saved into local list,
and later on (after a given event) the call back method gets
invoked from the
server. To achieve this I set up another source in my Glib
event loop, which
calls back a given function. Here I lookup the object
reference and invoke the
callback method.

if((remoteObj = lookUpObject (<dbase>, <key>))
!= CORBA_OBJECT_NIL)
{
   if(remoteObj)
   {
       fprintf(stdout, "n Retrieved Type ID = %s
n", g_quark_to_string
(remoteObj->type_qid));
   }

<invoke call back method> (remoteObj, newev);

<handle exceptions if raised>

The remote object lookup is fine. I confirm this with the
debug message. However
my invoke fails with exception
'IDL:omg.org/CORBA/COMM_FAILURE:1.0' Major = 2.
Following are some information I have gathered from initial
debug

1. This call back scenario works fine if I invoke it within
the skeleton
implementation where I get the object reference.
2. There are no TCP SYN packets sent out from the machine
initiating call back.
i.e. no new connection attempts.
3. Both client and servers are configured to receive
messages.
4. Both are not bi directional.
5. -ORBDebugFlags=messages:errors:objects:giop:refs  does
not return any debug
messages.

Could someone kindly assist me in debugging this issue? Do I
have to do anything
more before I invoke a callback outside the skeleton
implementation.

Thanks
-r




************************************************************
*********************************************
"This e-mail (and any attachments) is confidential and
privileged information of Catapult Communications"
************************************************************
*********************************************

_______________________________________________
orbit-list mailing list
orbit-listgnome.org
htt
p://mail.gnome.org/mailman/listinfo/orbit-list

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )