Thread (39 messages) 39 messages, 5 authors, 2005-02-22

Re: [RFC] batched tc to improve change throughput

From: Dan Siemon <hidden>
Date: 2005-02-22 21:40:40

Sorry, for the tardy response.

On Tue, 2005-15-02 at 21:47 +0100, Thomas Graf wrote:
I see, well I can extend my objects, I'm even willing to change the
architecture if needed. The only requirements from my side is to
keep the generic caching header to allow putting these objects into
generic caches and keep it simple to readd commit/rollback extesions
later on.

What is exactly required to make it GObject aware? I've never worked
with GOBject so far. Basically a qdisc looks like this at the moment:

struct rtnl_qdisc
{
	NLHDR_COMMON;		/* common fields required by cache */
	NL_TCA_GENERIC(q);	/* generic tc fields (parent, handle, ifindex ...) */
	void *opts;		/* qdisc specific options (e.g.  rtnl_sch_fifo) */
};

The NLHDR_COMMON must stay first, the ordering of the others doesn't
matter.
That could be a problem.  The GObject struct must be at the start so
that all sub-classes can be operated on with the g_object_ functions.
The only way to make these objects work with your caching scheme would
be to make a sub-class of GObject with the caching information.  This
would have the benefit of adding ref counting etc.

The following URL will give you a bit of background on GObject.
http://www.le-hacker.org/papers/gobject/

-- 
OpenPGP key: http://www.coverfire.com/files/pubkey.txt
Key fingerprint: FB0A 2D8A A1E9 11B6 6CA3  0C53 742A 9EA8 891C BD98
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help