35 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_CRITICAL_FINDER_SUPPORT_UTIL_H_
36 #define NET_INSTAWEB_REWRITER_PUBLIC_CRITICAL_FINDER_SUPPORT_UTIL_H_
38 #include "net/instaweb/rewriter/critical_keys.pb.h"
39 #include "net/instaweb/util/public/property_cache.h"
40 #include "pagespeed/kernel/base/basictypes.h"
41 #include "pagespeed/kernel/base/string.h"
42 #include "pagespeed/kernel/base/string_util.h"
43 #include "pagespeed/kernel/base/timer.h"
45 namespace net_instaweb {
90 CriticalKeys* critical_keys);
99 const CriticalKeys& critical_keys,
108 const StringSet& new_set,
int support_value,
109 CriticalKeys* critical_keys);
111 bool ShouldBeacon(
const CriticalKeys& proto,
const RewriteDriver& driver);
121 const StringSet& new_keys, StringPiece nonce,
int support_interval,
122 bool should_replace_prior_result,
bool require_prior_support,
123 StringPiece property_name,
const PropertyCache* cache,
124 const PropertyCache::Cohort* cohort, AbstractPropertyPage* page,
125 MessageHandler* message_handler, Timer* timer);
141 NonceGenerator* nonce_generator,
143 bool using_candidate_key_detection,
152 bool clear_rebeacon_timestamp);
157 return (proto.valid_beacons_received() > 0);
const int64 kLowFreqBeaconMult
Definition: critical_finder_support_util.h:61
bool UpdateCandidateKeys(const StringSet &keys, CriticalKeys *proto, bool clear_rebeacon_timestamp)
bool IsBeaconDataAvailable(const CriticalKeys &proto)
Definition: critical_finder_support_util.h:156
const int64 kBeaconTimeoutIntervalMs
Definition: critical_finder_support_util.h:50
void UpdateCriticalKeys(bool require_prior_support, const StringSet &new_set, int support_value, CriticalKeys *critical_keys)
const int64 kNonceExpirationLimit
Definition: critical_finder_support_util.h:66
Definition: rewrite_driver.h:98
void PrepareForBeaconInsertionHelper(CriticalKeys *proto, NonceGenerator *nonce_generator, RewriteDriver *driver, bool using_candidate_key_detection, BeaconMetadata *result)
const int64 kHighFreqBeaconCount
Definition: critical_finder_support_util.h:54
void GetCriticalKeysFromProto(int64 support_percentage, const CriticalKeys &critical_keys, StringSet *keys)
bool ValidateAndExpireNonce(int64 now_ms, StringPiece nonce, CriticalKeys *critical_keys)
void WriteCriticalKeysToPropertyCache(const StringSet &new_keys, StringPiece nonce, int support_interval, bool should_replace_prior_result, bool require_prior_support, StringPiece property_name, const PropertyCache *cache, const PropertyCache::Cohort *cohort, AbstractPropertyPage *page, MessageHandler *message_handler, Timer *timer)