*/ public function fetch( UserIdentity $user, int $recency ); /** * Fetch specific options for multiple users from the store. Return an array * indexed first by option key, and second by user name. * * @since 1.44 * * @param array $keys * @param array $userNames * @return array> */ public function fetchBatchForUserNames( array $keys, array $userNames ); /** * Process a batch of option updates. * * The store may assume that fetch() was previously called with a recency * sufficient to provide reference values for a differential update. It is * the caller's responsibility to manage recency. * * Note that OptionsStore does not have a concept of defaults. The store is * not required to check whether the value matches the default. * * @param UserIdentity $user A user with a non-zero ID * @param array $updates A map of option names to new * values. If the value is null, the key should be deleted from the store * and subsequently not returned from fetch(). Absent keys should be left * unchanged. * @return bool Whether any change was made */ public function store( UserIdentity $user, array $updates ); }