| Dominique,
OK, I will try to get a shot at it.
# Although the SRM is a very thick book, and the DECmcc notes file
# very long, I couldn't find a right answer to some "Wildcarding"
# concepts.
You are right. In addition to that, up to V1.3 the SRM was a pure
architectural document, not always aligned with the implementation. We
tried to align it more for V3.0 and V3.0 to have product and SRM closer to
each other.
#In the dispatch tables MCC_ENTITY :
#===================================
You need to look at the definition of the mcc_entity int he SRM (page 6.70
in my version (T300 or T301).
# Are the following expressions OK ?
#MCC_ENTITY <NODE,*> : All nodes entities, no child entities.
Yes
#MCC_ENTITY <NODE,...> : All nodes entities, and all its childs.
Yes
#MCC_ENTITY <NODE,*> <...> : All node child entities, exclusive the node
entity itself.
I have never tried this one, but according to the doc, it should be OK.
Note that with the FTU of TeMIP Framework v3.0 (T3.0.1), we will have a
tool allowing you to dump dispatch tables.
#N.B. NODE here represents any GLOBAL entity.
#Does this mean that the 2 first entry points covers the same as the lat one ?
#MCC_ENTITY <<NODE,*>> + MCC_ENTITY <<NODE,*> <...>> = MCC_ENTITY <<NODE,...>>
Still according to the doc, yes.
#In mcc_event_get
#================
#In order to catch ALL events from one global entity and ALL its childs
#do we require 1 GETEVENT for each entity level involved?
#
#mcc_event_get <NODE *>
#mcc_event_get <<NODE *> <*>>
#mcc_event_get <<NODE *> <*> <*>>
#mcc_event_get <<NODE *> <*> <*> <*>>
#etc...
#
#Where <NODE *> here means global entity INSTANCE_FULL
# <*> here means CLASS_WILD.
I don't think that the class wildcard is supported. I know it is in the
SRM, but it is part of these features not implemented. I suggest you try it
first. Otherwise, assuming it does not work, then you need to use the
dictionary to walk down the class hierarchy and issue an mcc_event_get for
each level of child entity.
#GETEVENT at the mcc_call level
#==============================
#In order to catch ALL events from one global entity and ALL its childs
#do we require 1 GETEVENT for each entity level involved?
#(Assuming the access module supports it)
#mcc_call_access
# verb=GETEVENT
# in_entity=<NODE *>
Problem is similar as the mcc_event_get one. If class wildcard works, a
single getevent request is enough. Otherwise, 1 getevent for each subclass
will be needed (I think there is over 80 sub-classes of the node
generating events.)
#In a notification request ?
#===========================
NOTIFY domain xyz entity list (NODE *), event = (any configuration event)
This expands to "All nodes entities, and all its childs".
NOTIFY domain xyz entity list (NODE * HDLC LINK *), event = (any configuration
event)
This expands to "All link entities, but not their childs".
#QUESTION:
#How to notify ONLY all configuration events of NODE * ?
I don't know the answer to this one. Sorry. What i know is that the
Notification FM is issuing one wildcarded getevent call for each subclass
of the object supporting the corresponding event partition.
Best regards,
Marc.
|
| #In mcc_event_get
#================
#In order to catch ALL events from one global entity and ALL its childs
#do we require 1 GETEVENT for each entity level involved?
#
#mcc_event_get <NODE *>
#mcc_event_get <<NODE *> <*>>
#mcc_event_get <<NODE *> <*> <*>>
#mcc_event_get <<NODE *> <*> <*> <*>>
#etc...
#
#Where <NODE *> here means global entity INSTANCE_FULL
# <*> here means CLASS_WILD.
I don't think that the class wildcard is supported. I know it is in the
SRM, but it is part of these features not implemented. I suggest you try it
first. Otherwise, assuming it does not work, then you need to use the
dictionary to walk down the class hierarchy and issue an mcc_event_get for
each level of child entity.
>> It does not work with CLASS_WILD. It seems strange to me why it
doesn't. The only solution: a walk-through the dictionary.
This explains why the notification-FM does the same.
Dominique.
|