diff options
Diffstat (limited to 'lib/VNLib.Data.Caching')
4 files changed, 5 insertions, 10 deletions
diff --git a/lib/VNLib.Data.Caching/src/ClientExtensions.cs b/lib/VNLib.Data.Caching/src/ClientExtensions.cs index eced7fe..946c9b5 100644 --- a/lib/VNLib.Data.Caching/src/ClientExtensions.cs +++ b/lib/VNLib.Data.Caching/src/ClientExtensions.cs @@ -136,7 +136,7 @@ namespace VNLib.Data.Caching //Check ok status code, then its safe to deserialize if (status.Value.Equals(ResponseCodes.Okay, StringComparison.Ordinal)) { - return (T?)deserialzer.Deserialze(typeof(T), response.ResponseBody); + return deserialzer.Deserialze<T>(response.ResponseBody); } //Object may not exist on the server yet diff --git a/lib/VNLib.Data.Caching/src/ICacheObjectDeserialzer.cs b/lib/VNLib.Data.Caching/src/ICacheObjectDeserialzer.cs index ec3fdb6..3cdb395 100644 --- a/lib/VNLib.Data.Caching/src/ICacheObjectDeserialzer.cs +++ b/lib/VNLib.Data.Caching/src/ICacheObjectDeserialzer.cs @@ -36,8 +36,8 @@ namespace VNLib.Data.Caching /// object state. /// </summary> /// <param name="objectData">The buffer containing data to deserialze</param> - /// <param name="type">The type to deserialze</param> + /// <typeparam name="T"></typeparam> /// <returns>A new instance deserialzed to contain the original entity state</returns> - object? Deserialze(Type type, ReadOnlySpan<byte> objectData); + T? Deserialze<T>(ReadOnlySpan<byte> objectData); } } diff --git a/lib/VNLib.Data.Caching/src/IGlobalCacheProvider.cs b/lib/VNLib.Data.Caching/src/IGlobalCacheProvider.cs index eb782d9..8a857d4 100644 --- a/lib/VNLib.Data.Caching/src/IGlobalCacheProvider.cs +++ b/lib/VNLib.Data.Caching/src/IGlobalCacheProvider.cs @@ -101,13 +101,11 @@ namespace VNLib.Data.Caching /// Asynchronously sets (or updates) a cached value in the backing cache store /// from the supplied raw data /// </summary> - /// <typeparam name="T"></typeparam> /// <param name="key">The key identifying the object to recover from cache</param> /// <param name="newKey">An optional key that will be changed for the new object</param> /// <param name="cancellation">A token to cancel the async operation</param> /// <param name="rawData">The raw data to store at the given key</param> - /// <param name="serialzer">The <see cref="ICacheObjectSerialzer"/> used to serialze the entity</param> /// <returns>A task that completes when the update operation has compelted</returns> - Task AddOrUpdateAsync(string key, string? newKey, IObjectData rawData, ICacheObjectSerialzer serialzer, CancellationToken cancellation); + Task AddOrUpdateAsync(string key, string? newKey, IObjectData rawData, CancellationToken cancellation); } }
\ No newline at end of file diff --git a/lib/VNLib.Data.Caching/src/JsonCacheObjectSerializer.cs b/lib/VNLib.Data.Caching/src/JsonCacheObjectSerializer.cs index 7f52169..dce0bdf 100644 --- a/lib/VNLib.Data.Caching/src/JsonCacheObjectSerializer.cs +++ b/lib/VNLib.Data.Caching/src/JsonCacheObjectSerializer.cs @@ -75,10 +75,7 @@ namespace VNLib.Data.Caching } ///<inheritdoc/> - public virtual object? Deserialze(Type type, ReadOnlySpan<byte> objectData) - { - return JsonSerializer.Deserialize(objectData, type, _options); - } + public virtual T? Deserialze<T>(ReadOnlySpan<byte> objectData) => JsonSerializer.Deserialize<T>(objectData, _options); ///<inheritdoc/> public virtual void Serialize<T>(T obj, IBufferWriter<byte> finiteWriter) |