6.2. Difference between the client and the server

Elliot Lee, ever the prescient one, asked:

"Object or object reference? "

And then observed:

"I think Todd is confused as to what the difference between object references and objects is. Think of an object reference and an object as being analogous to a pointer and pointed-to memory, respectively. You can stop using a pointer, but until you get the server side to actually free() the memory (object) being pointed to (referenced), it is still there. "

Indeed I was confused. There are actually two processes which occur within CORBA:

Since object references can be generated in one program, passed to a second program, the first program can forget about it, and the second can continue, these are separate processes. It was understanding this fact which was the biggest impediment to my figuring this matter out.

Sascha Brawer <brawer@coli.uni-sb.de> described these two potential interpretations of what I wanted to do, reflecting a nuance which I did not appreciate when I asked the question:

Which Elliot Lee then corrected with:

CORBA_Object_release() on object references, CORBA_free() on data structures.

Dick Porter added:

It is _only_ the client side. These pseudo-object methods do not cause requests to be made to the server.