[DGD]Tracking auto_object usage
Felix A. Croes
felix at dworkin.nl
Thu Mar 23 13:36:27 CET 2000
"Kevin N. Carpenter" <kevinc at monrou.com> wrote:
> Since the driver function inherit_program() isn't called for the inheritance
> of the auto object, is there an alternative to having the object manager
> simply keep track of all compiled programs? Obviously it could be made
> smart enough to not track other inheritable, since they would only get the
> auto object as part of the program that was inheriting them.
Sorry, but I don't understand how the part after the first comma
follows from the part before.
There is a very simple way to make sure the mudlib is properly notified
about the compilation of the auto object, without a need to have
inherit_program() called: mask the compile_object() kfun, and whenever
a non-auto object is compiled with the auto object destructed, perform
the same task as in inherit_program().
> Any opinions on the risk associated with keeping tabs on this via a mapping
> instead of a linked list? The number of objects created via compiling
> rather than cloning is hopefully a small subset of the objects in the mud.
> Then again, I suppose its unwise to code in any limits around the config
> file parameter array_size if it can be avoided.
If you register objects in a single mapping, you cannot register more
objects than the maximum array/mapping size. The decision is up to you.
DGD has a (configurable through recompiling) 64K limit on the number
of objects, and a (hard) limit of 32767 elements in an array or mapping.
Regards,
Dworkin
List config page: http://list.imaginary.com/mailman/listinfo/dgd
More information about the DGD
mailing list