[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

6351.0. "How to optimise use of WILDcards ?" by KETJE::PACCO (Horum omnium fortissimi sunt Belgae) Fri Jul 28 1995 15:01

	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.
    
    	How has wildcarding to be encoded by an AM?

In the dispatch tables MCC_ENTITY :
===================================
    Are the following expressions OK ?
MCC_ENTITY <NODE,*>		: All nodes entities, no child entities.
MCC_ENTITY <NODE,...>		: All nodes entities, and all its childs.
MCC_ENTITY <NODE,*> <...>	: All node child entities, exclusive the node
				  entity itself.
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,...>>

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.

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 *>

mcc_call_access
	verb=GETEVENT
	in_entity=<<NODE *> <*>>

mcc_call_access
	verb=GETEVENT
	in_entity=<<NODE *> <*> <*>>


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 * ?


    Thanks for who can clarify this.
    Kind regards,
    	Dominique.
T.RTitleUserPersonal
Name
DateLines
6351.1a few answersTAEC::FLAUWMarc Flauw, TeMIP Technical Office, VBOFri Jul 28 1995 16:2792
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.
6351.2Only INSTANCE-FULL works.KETJE::PACCOHorum omnium fortissimi sunt BelgaeMon Jul 31 1995 18:5525
#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.