데이터 버퍼 클래스 작성 중

This commit is contained in:
logonkhi
2025-07-14 20:08:04 +09:00
parent e5a876254b
commit 6bac7d53b1
8 changed files with 402 additions and 13 deletions

View File

@@ -79,7 +79,6 @@ namespace UVC.network
client.OnStateChanged += OnStateChangedMQTT;
client.OnDisconnect += OnDisconnectedMQTT;
client.OnError += OnErrorMQTT;
}
/// <summary>
@@ -327,8 +326,19 @@ namespace UVC.network
{
if (topicHandler.TryGetValue(topic.Filter.OriginalFilter, out var handler))
{
// 등록된 핸들러가 있으면 호출
handler.Invoke(topic.Filter.OriginalFilter, payload);
// 메인 스레드에서 실행 중인지 확인합니다.
bool isMainThread = UniTask.SwitchToMainThread().GetAwaiter().IsCompleted;
Debug.Log($"MQTT OnTopic {topic.Filter.OriginalFilter} => {payload} isMainThread={isMainThread}");
if (isMainThread)
{
// 메인 스레드이므로 핸들러를 직접 호출합니다.
handler.Invoke(topic.Filter.OriginalFilter, payload);
}
else
{
// 백그라운드 스레드이므로 UniTask.Post를 사용하여 메인 스레드로 작업을 보냅니다.
UniTask.Post(() => handler.Invoke(topic.Filter.OriginalFilter, payload));
}
}
}
}