The Notice Queue

Notice Support Indication

A device MA that doesn't implement trap capability (or if its trap capability is has not been enabled by its GSM) may log detected events in an optional Notice attribute queue. A port indicates its support for the Get(Notice) and Set(Notice) operations in two ways:

  • The respective GMA's ClassPortInfo.CapabilityMask attribute element indicates whether or not the respective GSA supports these operations (see Table 28-7 on page 794).

  • The port's PortInfo.CapabilityMask attribute element indicates whether or not the device's SMA supports these operations (see Table 28-8 on page 797).

Accessing the Notice Queue

The depth of MA's Notice queue is device design-specific.

Reading the Current Top-of-Queue Entry

If the queue has more than one entry, it is used in the following manner:

  • The respective manager performs a Get(Notice) operation to fetch the Notice at the top of the queue (it operates as a FIFO buffer). Performing a Get(Notice) does not remove the entry currently at the top of queue.

  • The value returned in the Notice.NoticeCount attribute element indicates the total number of Notices currently logged in the queue [including the one returned by the Get(Notice) operation].

  • A NoticeCount of 0 indicates that the queue is empty (and the Notice just returned is empty).

Clearing Entries from the Notice Queue

To clear one or more Notices from the head of queue, a Set(Notice) MAD is sent containing a Notice attribute with the following characteristics:

  • Notice.NoticeToggle must be set to match the Notice.NoticeToggle returned by the Get(Notice).

  • Notice.NoticeCount is set to the number of notices to delete.

  • The AttributeModifier field in the base MAD header (see Table 28-1 on page 783) must be set to zero.

Upon receipt of a Set(Notice) MAD, the MA performs the following actions if the MA implements a queue:

  • If the NoticeToggle value in the Set(Notice) MAD does not match the NoticeToggle value that was returned, the Set(Notice) MAD is silently discarded and no other action is taken.

  • The Notice.NoticeCount in the Set(Notice) operation specifies the number of entries to be deleted from the queue (starting with the oldest notice logged). If the specified count is greater than the number of notices on the queue, the queue is emptied.

  • The next Get(Notice) performed returns the Notice from the new top of the queue and the returned count reflects the updated count of Notices on the queue.

Queue Full Condition

How the Notice Queue behaves when the MA attempts to log another event Notice is undefined.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset