[KCP] SystemChangeNotification: supported events

Stephane Ducasse ducasse at iam.unibe.ch
Sun Jun 29 11:20:33 UTC 2003


> Are there any events that you would need and that are missing?

Packages? ;)
Have you thought of how to get new entities :)

>>> Certain events 'overlap', for example, a method rename triggers a 
>>> class change. To capture this I impose a hierarchy on the 'item 
>>> types' (just put some numbers to clearly show the idea. They don't 
>>> need numbers, really. Items at a certain categories are included by 
>>> items one category number higher):
>>> level 1 category
>>> level 2 class
>>> level 3 instance variable, pool variable, protocol, method.
>>>
>>> Changes propagate according to this tree: any 'added', 'removed' or 
>>> 'renamed' change type in level X triggers a 'changed' change type in 
>>> level X - 1. A 'modified' change type does not trigger anything 
>>> special.
>>> For example, a method additions triggers a class modification. This 
>>> does not trigger a category modification.
>>
>> When this happens, do clients receive both events or just one? The 
>> model I'm imagining is that all clients are notified of each change 
>> to the system only once, and they receive the most specific Event 
>> they have registered for.
>
> I'd like the clients to be able to choose this, since I had need for 
> both things (not too hard with the event system luckily). What you 
> describe is one example of a 'notification policy', which is also 
> needed for example by the ChangeSet. But I think other policies might 
> be needed. If I can't find concrete examples in the current system, 
> I'll only implement the current one. I want to make it very easy to 
> specify the list of events clients can get anyway...

Roel I would like you to have a brief look at Changeset and related 
class (browse fileout methods) and fileout in classDescription so that 
we get in sync. I think that lot of logic in there is working but so 
difficult to follow. Especially for the fileOut. I would like to 
discuss that once because nathanael and alex may need to change that 
for their work and this is not easy.


Stef



More information about the Squeak-dev mailing list