From 090927358373e72d752e3d0ebed85ccab428ba44 Mon Sep 17 00:00:00 2001 From: monsieurgustav Date: Thu, 14 May 2015 18:16:11 +0200 Subject: [PATCH] increase the max messages per frame number + log ignored messages --- OSC/Source/OSC/Private/Receive/OscDispatcher.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/OSC/Source/OSC/Private/Receive/OscDispatcher.cpp b/OSC/Source/OSC/Private/Receive/OscDispatcher.cpp index 3066939..a4471c9 100644 --- a/OSC/Source/OSC/Private/Receive/OscDispatcher.cpp +++ b/OSC/Source/OSC/Private/Receive/OscDispatcher.cpp @@ -10,7 +10,7 @@ UOscDispatcher::UOscDispatcher(const class FPostConstructInitializeProperties& P _listening(FIPv4Address(0), 0), _socket(nullptr), _socketReceiver(nullptr), - _pendingMessages(64) + _pendingMessages(1024) // arbitrary max message count per frame { } @@ -119,7 +119,13 @@ static void SendMessage(TCircularQueue>> & _pendingMessages, const osc::ReceivedBundle & bundle) @@ -141,6 +147,7 @@ static void SendBundle(TCircularQueueGetData(), data->Num()); @@ -161,7 +168,8 @@ void UOscDispatcher::Callback(const FArrayReaderPtr& data, const FIPv4Endpoint&) UE_LOG(LogOSC, Warning, TEXT("OSC Message Error: %s"), *wide); } - if(!_pendingMessages.IsEmpty()) + // Set a single callback in the main thread per frame. + if(wasEmpty && !_pendingMessages.IsEmpty()) { FSimpleDelegateGraphTask::CreateAndDispatchWhenReady( FSimpleDelegateGraphTask::FDelegate::CreateUObject(this, &UOscDispatcher::CallbackMainThread),