diff options
author | vnugent <public@vaughnnugent.com> | 2023-01-27 21:13:16 -0500 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2023-01-27 21:13:16 -0500 |
commit | 892bbaaa5c1f62631070cc74820f349c4c80f55d (patch) | |
tree | c04dfa8c5a3ead1522502635d4bc9696102d28dc /lib/VNLib.Data.Caching.Extensions/src | |
parent | 0ea612dde50e82d722b0654e0e569fd4e7469978 (diff) |
Object cache overhaul and logger updates
Diffstat (limited to 'lib/VNLib.Data.Caching.Extensions/src')
-rw-r--r-- | lib/VNLib.Data.Caching.Extensions/src/FBMDataCacheExtensions.cs | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/lib/VNLib.Data.Caching.Extensions/src/FBMDataCacheExtensions.cs b/lib/VNLib.Data.Caching.Extensions/src/FBMDataCacheExtensions.cs index ebdfd5b..222240a 100644 --- a/lib/VNLib.Data.Caching.Extensions/src/FBMDataCacheExtensions.cs +++ b/lib/VNLib.Data.Caching.Extensions/src/FBMDataCacheExtensions.cs @@ -81,14 +81,28 @@ namespace VNLib.Data.Caching.Extensions /// <returns>A preconfigured <see cref="FBMClientConfig"/> for object caching</returns> public static FBMClientConfig GetDefaultConfig(IUnmangedHeap heap, int maxMessageSize, ILogProvider? debugLog = null) { + /* + * Max message size (for server) should account for max data + the additional header buffer + */ + int maxExtra = (int)Helpers.ToNearestKb((int)(maxMessageSize * 1.2) + MAX_FBM_MESSAGE_HEADER_SIZE); + return new() { BufferHeap = heap, - MaxMessageSize = maxMessageSize * 2, - RecvBufferSize = maxMessageSize, - MessageBufferSize = maxMessageSize, + + //Max message size is referrences + MaxMessageSize = maxExtra, + + //The size of the buffer used for buffering incoming messages + RecvBufferSize = maxExtra, + //Message buffer should be max message + headers + MessageBufferSize = (int)Helpers.ToNearestKb(maxMessageSize + MAX_FBM_MESSAGE_HEADER_SIZE), + + //Caching only requires a fixed number of request headers, so we can used a fixed buffer size MaxHeaderBufferSize = MAX_FBM_MESSAGE_HEADER_SIZE, + + //Set the optional cache sub-protocol SubProtocol = CACHE_WS_SUB_PROCOL, HeaderEncoding = Helpers.DefaultEncoding, |