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

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



   pmdaCacheStoreKey    ( 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.