aboutsummaryrefslogtreecommitdiff
path: root/lib/VNLib.Data.Caching.Extensions
diff options
context:
space:
mode:
authorLibravatar vnugent <public@vaughnnugent.com>2023-01-27 21:13:16 -0500
committerLibravatar vnugent <public@vaughnnugent.com>2023-01-27 21:13:16 -0500
commit892bbaaa5c1f62631070cc74820f349c4c80f55d (patch)
treec04dfa8c5a3ead1522502635d4bc9696102d28dc /lib/VNLib.Data.Caching.Extensions
parent0ea612dde50e82d722b0654e0e569fd4e7469978 (diff)
Object cache overhaul and logger updates
Diffstat (limited to 'lib/VNLib.Data.Caching.Extensions')
-rw-r--r--lib/VNLib.Data.Caching.Extensions/src/FBMDataCacheExtensions.cs20
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,