Friday, June 10, 2005
Update - Started coding CoreItem
OK, I have started to code CoreItem and so far this is the easiest and simplest implementation I have coded so far for CoreItem. Hopefully I will finish it by the end of next week. I have increased the overhead of memory allocations from 12 to 14 bytes so that the size of an allocation can be up to 2GB. Note that this size is only in the implementation of storing objects internally and that external streams can be up to 4GB (32bit address space). The advantage of CoreItem is that it provides a fixed handle for any allocation which does not change even if the allocation moves around the storage stream. While I am coding this code for a Windows Console, only CoreStream needs to be recoded for the entire base object storage to work on PalmOS or any other OS. Although all meta-data and documents will be stored in the object storage itself, stream based objects like multimedia will be external files encapsulated as objects. So to the developer or user there is no difference but internally there is a difference which is the whole advantage of using dynamic methods on objects to overload default functionality.