Skip to content

Commit 868e6d6

Browse files
authored
Merge pull request #101 from kt81/add-result-value
Add Replace method, Add return values for Store wrappers
2 parents 2f9d4ec + 45534dd commit 868e6d6

File tree

3 files changed

+43
-19
lines changed

3 files changed

+43
-19
lines changed

Enyim.Caching/IMemcachedClient.cs

+8-5
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@ namespace Enyim.Caching
88
{
99
public interface IMemcachedClient : IDisposable
1010
{
11-
void Add(string key, object value, int cacheSeconds);
12-
Task AddAsync(string key, object value, int cacheSeconds);
13-
14-
void Set(string key, object value, int cacheSeconds);
15-
Task SetAsync(string key, object value, int cacheSeconds);
11+
bool Add(string key, object value, int cacheSeconds);
12+
Task<bool> AddAsync(string key, object value, int cacheSeconds);
13+
14+
bool Set(string key, object value, int cacheSeconds);
15+
Task<bool> SetAsync(string key, object value, int cacheSeconds);
16+
17+
bool Replace(string key, object value, int cacheSeconds);
18+
Task<bool> ReplaceAsync(string key, object value, int cacheSeconds);
1619

1720
Task<IGetOperationResult<T>> GetAsync<T>(string key);
1821
Task<T> GetValueAsync<T>(string key);

Enyim.Caching/MemcachedClient.cs

+18-8
Original file line numberDiff line numberDiff line change
@@ -88,24 +88,34 @@ private void StartPool()
8888

8989
public event Action<IMemcachedNode> NodeFailed;
9090

91-
public void Add(string key, object value, int cacheSeconds)
91+
public bool Add(string key, object value, int cacheSeconds)
9292
{
93-
Store(StoreMode.Add, key, value, TimeSpan.FromSeconds(cacheSeconds));
93+
return Store(StoreMode.Add, key, value, TimeSpan.FromSeconds(cacheSeconds));
9494
}
9595

96-
public async Task AddAsync(string key, object value, int cacheSeconds)
96+
public async Task<bool> AddAsync(string key, object value, int cacheSeconds)
9797
{
98-
await StoreAsync(StoreMode.Add, key, value, TimeSpan.FromSeconds(cacheSeconds));
98+
return await StoreAsync(StoreMode.Add, key, value, TimeSpan.FromSeconds(cacheSeconds));
9999
}
100100

101-
public void Set(string key, object value, int cacheSeconds)
101+
public bool Set(string key, object value, int cacheSeconds)
102102
{
103-
Store(StoreMode.Set, key, value, TimeSpan.FromSeconds(cacheSeconds));
103+
return Store(StoreMode.Set, key, value, TimeSpan.FromSeconds(cacheSeconds));
104104
}
105105

106-
public async Task SetAsync(string key, object value, int cacheSeconds)
106+
public async Task<bool> SetAsync(string key, object value, int cacheSeconds)
107107
{
108-
await StoreAsync(StoreMode.Set, key, value, TimeSpan.FromSeconds(cacheSeconds));
108+
return await StoreAsync(StoreMode.Set, key, value, TimeSpan.FromSeconds(cacheSeconds));
109+
}
110+
111+
public bool Replace(string key, object value, int cacheSeconds)
112+
{
113+
return Store(StoreMode.Replace, key, value, TimeSpan.FromSeconds(cacheSeconds));
114+
}
115+
116+
public async Task<bool> ReplaceAsync(string key, object value, int cacheSeconds)
117+
{
118+
return await StoreAsync(StoreMode.Replace, key, value, TimeSpan.FromSeconds(cacheSeconds));
109119
}
110120

111121
/// <summary>

Enyim.Caching/NullMemcachedClient.cs

+17-6
Original file line numberDiff line numberDiff line change
@@ -234,23 +234,34 @@ public bool TryGetWithCas(string key, out CasResult<object> value)
234234
return false;
235235
}
236236

237-
public void Add(string key, object value, int cacheSeconds)
237+
public bool Add(string key, object value, int cacheSeconds)
238238
{
239+
return true;
239240
}
240241

241-
public Task AddAsync(string key, object value, int cacheSeconds)
242+
public Task<bool> AddAsync(string key, object value, int cacheSeconds)
242243
{
243-
return Task.CompletedTask;
244+
return Task.FromResult(true);
244245
}
245246

246-
public void Set(string key, object value, int cacheSeconds)
247+
public bool Set(string key, object value, int cacheSeconds)
247248
{
249+
return true;
250+
}
248251

252+
public Task<bool> SetAsync(string key, object value, int cacheSeconds)
253+
{
254+
return Task.FromResult(true);
255+
}
256+
257+
public bool Replace(string key, object value, int cacheSeconds)
258+
{
259+
return true;
249260
}
250261

251-
public Task SetAsync(string key, object value, int cacheSeconds)
262+
public Task<bool> ReplaceAsync(string key, object value, int cacheSeconds)
252263
{
253-
return Task.CompletedTask;
264+
return Task.FromResult(true);
254265
}
255266

256267
public Task<T> GetValueOrCreateAsync<T>(string key, int cacheSeconds, Func<Task<T>> generator)

0 commit comments

Comments
 (0)