Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   pmdacache    ( 3 )

управлять кешем информации о домене экземпляра для PMDA (manage a cache of instance domain information for a PMDA)

  Name  |  C synopsis  |  Description  |    Other considerations    |  Instance name matching  |  Files  |  See also  |

Другие соображения (Other considerations)

When the pmdaCache routines are used for particular instance
       domain, pmdaInstance(3) and the instance domain enumeration
       behind pmdaFetch(3) will attempt to extract instance domain
       information from the cache, thereby avoiding reference to the
       pmdaIndom data structures that have historically been used to
       define instance domains and service instance requests.  A PMDA
       can adopt a hybrid approach and choose to implement some instance
       domains via the traditional pmdaIndom method, and others via the
       pmdaCache approach, however attempts to manage the same instance
       domain by both methods will result in the pmdaCache method
       silently prevailing.

If all instances in a PMDA are to be serviced from a pmdaCache then a pmdaIndom is not required, and the pmdaInit(3) call becomes

pmdaInit(dp, NULL, 0, metrictab, nmetrics);

However, the PMDA will need to explicitly initialize the indom field of the pmDesc in the metrictab entries, as this cannot be done by pmdaInit(3) if indomtab is missing entries for the instance domains maintained in the cache.

Independent of how the instance domain is being maintained, to refresh an instance domain prior to a fetch or an instance domain operation, the standard methods of a ``wrapper'' to the pmdaInstance(3) and pmdaFetch(3) methods should be used.

Refer to the simple PMDA source code for an example use of the pmdaCache routines.

When using pmdaCacheStoreKey, if there is a desire to ensure the given ``hint'' generates the same initial instance identifier across all platforms, then the caller should ensure the endian and word-size issues are considered, e.g. if the natural data structure used for the key is an array of 32-bit integers, then htonl(3) should be used on each element of the array before calling pmdaCacheStoreKey or pmdaCacheLookupKey.