1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 package org.apache.hc.client5.http.impl.cache;
28
29 import java.time.Instant;
30 import java.util.Map;
31
32 import org.apache.hc.client5.http.cache.HttpCacheEntry;
33 import org.apache.hc.core5.concurrent.Cancellable;
34 import org.apache.hc.core5.concurrent.FutureCallback;
35 import org.apache.hc.core5.http.HttpHost;
36 import org.apache.hc.core5.http.HttpRequest;
37 import org.apache.hc.core5.http.HttpResponse;
38 import org.apache.hc.core5.util.ByteArrayBuffer;
39
40 interface HttpAsyncCache {
41
42 String generateKey (HttpHost host, HttpRequest request, HttpCacheEntry cacheEntry);
43
44
45
46
47 Cancellable flushCacheEntriesFor(
48 HttpHost host, HttpRequest request, FutureCallback<Boolean> callback);
49
50
51
52
53 Cancellable flushCacheEntriesInvalidatedByRequest(
54 HttpHost host, HttpRequest request, FutureCallback<Boolean> callback);
55
56
57
58
59 Cancellable flushCacheEntriesInvalidatedByExchange(
60 HttpHost host, HttpRequest request, HttpResponse response, FutureCallback<Boolean> callback);
61
62
63
64
65 Cancellable getCacheEntry(
66 HttpHost host, HttpRequest request, FutureCallback<HttpCacheEntry> callback);
67
68
69
70
71 Cancellable getVariantCacheEntriesWithEtags(
72 HttpHost host, HttpRequest request, FutureCallback<Map<String,Variant>> callback);
73
74
75
76
77 Cancellable createCacheEntry(
78 HttpHost host,
79 HttpRequest request,
80 HttpResponse originResponse,
81 ByteArrayBuffer content,
82 Instant requestSent,
83 Instant responseReceived,
84 FutureCallback<HttpCacheEntry> callback);
85
86
87
88
89 Cancellable updateCacheEntry(
90 HttpHost host,
91 HttpRequest request,
92 HttpCacheEntry stale,
93 HttpResponse originResponse,
94 Instant requestSent,
95 Instant responseReceived,
96 FutureCallback<HttpCacheEntry> callback);
97
98
99
100
101
102 Cancellable updateVariantCacheEntry(
103 HttpHost host,
104 HttpRequest request,
105 HttpResponse originResponse,
106 Variant variant,
107 Instant requestSent,
108 Instant responseReceived,
109 FutureCallback<HttpCacheEntry> callback);
110
111
112
113
114
115 Cancellable reuseVariantEntryFor(
116 HttpHost host,
117 HttpRequest req,
118 Variant variant,
119 FutureCallback<Boolean> callback);
120 }