created: 1243947587|%e %B %Y, %H:%M
Have added opaque classes to iCL, and released an upgrade of OpenAMQ that uses these in a few places. Opaque classes work fine except for one common case, when they're used in invasive containers. We could use the neutral containers but they are a lot of extra work in use.
Decision: all public classes will be opaque and when we need to make lists or tables of them, we'll use the ipr_looseref_list and ipr_hash classes.
So, API classes have this general interface:
objref = myclass_new (arguments);
objcopy = myclass_link (objref);
myclass_some_method (objref);
myclass_unlink (&objcopy);
- All classes are reference counted.
- All classes are synchronous.
- All classes are threadsafe.
- All classes are opaque.
Rate this post:
