Class AbstractSerializingAsyncCacheStorage<T,​CAS>

    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      private void attemptUpdateEntry​(java.lang.String key, HttpCacheCASOperation casOperation, org.apache.hc.core5.concurrent.ComplexCancellable complexCancellable, java.util.concurrent.atomic.AtomicInteger count, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)  
      protected abstract org.apache.hc.core5.concurrent.Cancellable bulkRestore​(java.util.Collection<java.lang.String> storageKeys, org.apache.hc.core5.concurrent.FutureCallback<java.util.Map<java.lang.String,​T>> callback)  
      protected abstract org.apache.hc.core5.concurrent.Cancellable delete​(java.lang.String storageKey, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)  
      protected abstract java.lang.String digestToStorageKey​(java.lang.String key)  
      org.apache.hc.core5.concurrent.Cancellable getEntries​(java.util.Collection<java.lang.String> keys, org.apache.hc.core5.concurrent.FutureCallback<java.util.Map<java.lang.String,​HttpCacheEntry>> callback)
      Retrieves multiple cache entries stored under the given keys.
      org.apache.hc.core5.concurrent.Cancellable getEntry​(java.lang.String key, org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback)
      Retrieves the cache entry stored under the given key or null if no entry exists under that key.
      protected abstract org.apache.hc.core5.concurrent.Cancellable getForUpdateCAS​(java.lang.String storageKey, org.apache.hc.core5.concurrent.FutureCallback<CAS> callback)  
      protected abstract T getStorageObject​(CAS cas)  
      org.apache.hc.core5.concurrent.Cancellable putEntry​(java.lang.String key, HttpCacheEntry entry, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
      Store a given cache entry under the given key.
      org.apache.hc.core5.concurrent.Cancellable removeEntry​(java.lang.String key, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
      Deletes/invalidates/removes any cache entries currently stored under the given key.
      protected abstract org.apache.hc.core5.concurrent.Cancellable restore​(java.lang.String storageKey, org.apache.hc.core5.concurrent.FutureCallback<T> callback)  
      protected abstract org.apache.hc.core5.concurrent.Cancellable store​(java.lang.String storageKey, T storageObject, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)  
      protected abstract org.apache.hc.core5.concurrent.Cancellable updateCAS​(java.lang.String storageKey, CAS cas, T storageObject, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)  
      org.apache.hc.core5.concurrent.Cancellable updateEntry​(java.lang.String key, HttpCacheCASOperation casOperation, org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
      Atomically applies the given callback to processChallenge an existing cache entry under a given key.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractSerializingAsyncCacheStorage

        public AbstractSerializingAsyncCacheStorage​(int maxUpdateRetries,
                                                    HttpCacheEntrySerializer<T> serializer)
    • Method Detail

      • digestToStorageKey

        protected abstract java.lang.String digestToStorageKey​(java.lang.String key)
      • store

        protected abstract org.apache.hc.core5.concurrent.Cancellable store​(java.lang.String storageKey,
                                                                            T storageObject,
                                                                            org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
      • restore

        protected abstract org.apache.hc.core5.concurrent.Cancellable restore​(java.lang.String storageKey,
                                                                              org.apache.hc.core5.concurrent.FutureCallback<T> callback)
      • getForUpdateCAS

        protected abstract org.apache.hc.core5.concurrent.Cancellable getForUpdateCAS​(java.lang.String storageKey,
                                                                                      org.apache.hc.core5.concurrent.FutureCallback<CAS> callback)
      • updateCAS

        protected abstract org.apache.hc.core5.concurrent.Cancellable updateCAS​(java.lang.String storageKey,
                                                                                CAS cas,
                                                                                T storageObject,
                                                                                org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
      • delete

        protected abstract org.apache.hc.core5.concurrent.Cancellable delete​(java.lang.String storageKey,
                                                                             org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
      • bulkRestore

        protected abstract org.apache.hc.core5.concurrent.Cancellable bulkRestore​(java.util.Collection<java.lang.String> storageKeys,
                                                                                  org.apache.hc.core5.concurrent.FutureCallback<java.util.Map<java.lang.String,​T>> callback)
      • putEntry

        public final org.apache.hc.core5.concurrent.Cancellable putEntry​(java.lang.String key,
                                                                         HttpCacheEntry entry,
                                                                         org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
        Description copied from interface: HttpAsyncCacheStorage
        Store a given cache entry under the given key.
        Specified by:
        putEntry in interface HttpAsyncCacheStorage
        Parameters:
        key - where in the cache to store the entry
        entry - cached response to store
        callback - result callback
      • getEntry

        public final org.apache.hc.core5.concurrent.Cancellable getEntry​(java.lang.String key,
                                                                         org.apache.hc.core5.concurrent.FutureCallback<HttpCacheEntry> callback)
        Description copied from interface: HttpAsyncCacheStorage
        Retrieves the cache entry stored under the given key or null if no entry exists under that key.
        Specified by:
        getEntry in interface HttpAsyncCacheStorage
        Parameters:
        key - cache key
        callback - result callback
        Returns:
        an HttpCacheEntry or null if no entry exists
      • removeEntry

        public final org.apache.hc.core5.concurrent.Cancellable removeEntry​(java.lang.String key,
                                                                            org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
        Description copied from interface: HttpAsyncCacheStorage
        Deletes/invalidates/removes any cache entries currently stored under the given key.
        Specified by:
        removeEntry in interface HttpAsyncCacheStorage
        callback - result callback
      • updateEntry

        public final org.apache.hc.core5.concurrent.Cancellable updateEntry​(java.lang.String key,
                                                                            HttpCacheCASOperation casOperation,
                                                                            org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
        Description copied from interface: HttpAsyncCacheStorage
        Atomically applies the given callback to processChallenge an existing cache entry under a given key.
        Specified by:
        updateEntry in interface HttpAsyncCacheStorage
        Parameters:
        key - indicates which entry to modify
        casOperation - the CAS operation to perform.
        callback - result callback
      • attemptUpdateEntry

        private void attemptUpdateEntry​(java.lang.String key,
                                        HttpCacheCASOperation casOperation,
                                        org.apache.hc.core5.concurrent.ComplexCancellable complexCancellable,
                                        java.util.concurrent.atomic.AtomicInteger count,
                                        org.apache.hc.core5.concurrent.FutureCallback<java.lang.Boolean> callback)
      • getEntries

        public final org.apache.hc.core5.concurrent.Cancellable getEntries​(java.util.Collection<java.lang.String> keys,
                                                                           org.apache.hc.core5.concurrent.FutureCallback<java.util.Map<java.lang.String,​HttpCacheEntry>> callback)
        Description copied from interface: HttpAsyncCacheStorage
        Retrieves multiple cache entries stored under the given keys. Some implementations may use a single bulk operation to do the retrieval.
        Specified by:
        getEntries in interface HttpAsyncCacheStorage
        Parameters:
        keys - cache keys
        callback - result callback