Date: 02 Jun 2003 22:54:01 +0100 From: Paul Richards <paul@freebsd-services.com> To: Poul-Henning Kamp <phk@phk.freebsd.dk> Cc: current@freebsd.org Subject: Re: VFS: C99 sparse format for struct vfsops Message-ID: <1054590840.1641.12.camel@cf.freebsd-services.com> In-Reply-To: <26877.1054676171@critter.freebsd.dk> References: <26877.1054676171@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2003-06-03 at 22:36, Poul-Henning Kamp wrote: > In message <XFMail.20030603173300.jhb@FreeBSD.org>, John Baldwin writes: > > > >On 02-Jun-2003 Paul Richards wrote: > >> On Mon, 2003-06-02 at 21:04, Paul Richards wrote: > >> > >>> > >>> The tradeoff with using an index into an array is that there'd be a > >>> heavy penalty for growing the array if an extra method didn't fit, but > >>> that would be exceptionally rare and with our present usage we'd never > >>> have that happen. > >> > >> I'm not sure this is actually a problem after all since the Interface > >> doesn't change and therefore we know a-priori how many methods there can > >> be so we can pre-allocate an array. > > I thought the point in KOBJ was that it was extensible so you could > KLD load stuff which added more methods ? Not exactly. It allows for dynamic binding of methods that implement a specified interface. It gives you 2 things mainly: 1) Not all the interface has to be implemented within a particular object, and things will just work if unimplemented parts of the interface are called on an object. 2) The actual functions called for a particular method can by dynamically changed (or at least they could be, I don't think there's actually any API that does this at the moment so in fact they just get mapped the once when the object is instantiated). The possible methods available in an interface are fixed, they're defined in the .m files. -- Tis a wise thing to know what is wanted, wiser still to know when it has been achieved and wisest of all to know when it is unachievable for then striving is folly. [Magician]
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1054590840.1641.12.camel>