RE: ref counting in Bonobo
- From: Svanberg Liss <lisss ydab se>
- To: lacage email enst fr, gnome-components-list gnome org
- Subject: RE: ref counting in Bonobo
- Date: Wed, 29 Sep 1999 23:21:20 +0200
> > Instead, insulate clients from the actual details of ref counting by
provide
> > ref and unref library functions. Currently, they can be implemented as
>
> Well, if i am not mistaken , this is allready the case of Bonobo C
> implementation: we have gnome_object_ref and gnome_object_unref (not
> really usre about the actual name but they're there, for sure)
I think the interesting part of the suggestion was the "ping-interface".
<quote>
# Here's an example of an alternative mechanism you could support in this
# way: Servers support an interface that's internal to Bonobo that allows
# clients to register a ping interface with them. When the client obtains
# the initial reference it registers a ping interface (this would have to be
# handled by the mechanism that hands initial references to the client).
# When the client's reference count reaches zero, it unregisters the ping
# interface. On the server side, each time a client registers a ping
# interface with the server, the server uses the object's Unknown interface
# to increase the ref count on the object. It decreases the ref count
# whenever a client unregisters the ping interface, or whenever the client
# fails to respond to an actual ping attempt after a certain amount of time.
# All of this server-side work should be wrapped in library routines as
# well, so that it is transparent to the server implementation.
<endquote>
If I have understood it right, we have a
interface Ping {
void Foo ();
};
that all Gnome objects should implement, and that should be used as "ticket"
when a "client" want's to connect to a "server".
This way the server would be able to "ping" it's clients now and then, to
see if they are alive.
( Or actually, the framework in bonobo )
Just like "keepalieve mesages" in TCP.
// Liss
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]