The behaviour above is correct.
- Only attributes that has changed in an object will be notified even if there
are
more attributes in the object that has notify flag set
- Only attributes that has a value will be displayed in the attribute values
list but
will be in the additional info list if the change is that all values are
removed
- Each value in a multi value attribute is displayed in the attribute value
list. All
values has the same Id (belongs to the same attribute)
- If a new object is created all flagged attributes will be displayed in the
additional
values list but in the attribute values list only attributes that has a
value will
be displayed.
--------------
The OpenSAF_Extensions_PR.odt says:
- Create and delete notifications are generated when at least one attribute in
a class
has been tagged with ATTR_NOTIFY.
- A change of a tagged cached runtime attribute, immediately triggers a
notification.
- For changes of configuration attributes, notifications are sent when the CCB
is
applied
(for a canceled CCB, nothing is sent)
Note:
One IMM modification operation can be used to modify several attributes in
the same
object.
It is also possible to use several modification operations e.g one per
attribute or
some combination in the same CCB. IMCN notifications are sent one per
operation.
This means that there may be more than one notification for modifying an
object
within the same CCB.
- To understand if a notifications is the last one belonging to a CCB, the
boolean
attribute ccbLast indicates if a notification is the last one in a series
with the
same CCB ID.
- The mandatory attribute order is fixed as presented. Multi value attributes
are
supported using multiple SaNtfAttributeT with same attributeId. An example
is given.
- When the number of values is changed for a multi value attribute, the
notification
will show the resulting value of the attribute. Thus if a value is added to
a single
valued attribute, two values will be listed in the notification. If one
value is
removed, the remaining values will be shown in the notification.
- InfoId in Additional information and Attribute Id always corresponds to each
other,
meaning index n in Additional information always corresponds to index n in
the
Attribute list.
- If all values for an attribute have been deleted, such attribute will have
an entry
in the additional info list but not in the attribute list.
------------------------
I think most of the information about this behaviour is there in the document
but I have found one thing thats unclear.
In section 3.1.4 note 2 says:
"The length of the attribute list is the same as the amount of instances of
additional info fields."
This not always the case wihich is also documented in the previous section.
---
** [tickets:#619] The length of the attribute list may be less than the
instances of additional info fields in NTFIMCN notification**
**Status:** unassigned
**Created:** Tue Nov 12, 2013 06:33 AM UTC by Sirisha Alla
**Last Updated:** Tue Nov 12, 2013 06:33 AM UTC
**Owner:** nobody
Point 2 of Section 3.1.4 of OpenSAF_Extensions_PR.odt says:
2. The length of the attribute list is the same as the amount of instances of
additional info fields
But the above statement is not true for all the cases. Possible cases which
does not fall under the above statement:
a) multivalued attributes
b) The number of attributes that have ATTR_NOTIFY flag specified is greater
than the number of attributes for which we have provided value while creating
the object.
Notification output for (b):
eventType = SA_NTF_OBJECT_CREATION
notificationObject = "attrName_testSA_registerSA_Node_37_69"
notifyingObject = "safApp=OpenSaf"
notificationClassId = 32993.8.0 (0x0)
sourceIndicator = SA_NTF_MANAGEMENT_OPERATION
numAdditionalInfo: 7
- additionalInfo: 0 -
infoId = 0
infoType = 11
infoValue = "SaImmAttrAdminOwnerName"
- additionalInfo: 1 -
infoId = 1
infoType = 11
infoValue = "SaImmAttrClassName"
- additionalInfo: 2 -
infoId = 2
infoType = 11
infoValue = "SaImmOiCcbIdT"
- additionalInfo: 3 -
infoId = 3
infoType = 11
infoValue = "ccbLast"
- additionalInfo: 4 -
infoId = 4
infoType = 11
infoValue = "attrName5"
- additionalInfo: 5 -
infoId = 5
infoType = 11
infoValue = "attrName3"
- additionalInfo: 6 -
infoId = 6
infoType = 11
infoValue = "attrName2"
numAttributes: 5
- Attribute ID: 0 -
Attribute Type: (11) SA_NTF_VALUE_STRING
Attribute Value: "exowner"
- Attribute ID: 1 -
Attribute Type: (11) SA_NTF_VALUE_STRING
Attribute Value: "testSA_registerSA_Node_37_69"
- Attribute ID: 2 -
Attribute Type: (7) SA_NTF_VALUE_UINT64
Attribute Value: 8
- Attribute ID: 3 -
Attribute Type: (4) SA_NTF_VALUE_UINT32
Attribute Value: 1
- Attribute ID: 5 -
Attribute Type: (11) SA_NTF_VALUE_STRING
Attribute Value: "attrname3"
In the above mentioned notification, attrName2 and attrName5 are not present in
the attribute list since a value has not been specified during object creation.
numAdditionalInfo and numAttributes do not match.
---
Sent from sourceforge.net because [email protected] is
subscribed to https://sourceforge.net/p/opensaf/tickets/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/opensaf/admin/tickets/options. Or, if this is a
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets