package com.netflix.eureka.registry; import javax.annotation.Nullable; import java.util.concurrent.atomic.AtomicLong; /** * @author David Liu */ public interface ResponseCache { void invalidate(String appName, @Nullable String vipAddress, @Nullable String secureVipAddress); AtomicLong getVersionDelta(); AtomicLong getVersionDeltaWithRegions(); /** * Get the cached information about applications. * * <p> * If the cached information is not available it is generated on the first * request. After the first request, the information is then updated * periodically by a background thread. * </p> * * @param key the key for which the cached information needs to be obtained. * @return payload which contains information about the applications. */ String get(Key key); /** * Get the compressed information about the applications. * * @param key the key for which the compressed cached information needs to be obtained. * @return compressed payload which contains information about the applications. */ byte[] getGZIP(Key key); }