Data 패키지 개선

This commit is contained in:
logonkhi
2025-06-10 20:16:35 +09:00
parent 649a359ab4
commit 7ef6825368
22 changed files with 1416 additions and 248 deletions

View File

@@ -9,6 +9,7 @@ using System.IO;
using System.Text;
using System.Threading;
using UnityEngine;
using UVC.Log;
using UVC.Network;
using UVC.Tests;
@@ -47,7 +48,7 @@ namespace UVC.Data
/// .setDataMapper(dataMapper)
/// .setHandler(data => {
/// // 데이터 처리 로직
/// Debug.Log($"데이터 수신: {data?.ToString() ?? "null"}");
/// ULog.Debug($"데이터 수신: {data?.ToString() ?? "null"}");
/// });
/// httpPipeline.Add("dataRequest", singleRequest);
///
@@ -56,7 +57,7 @@ namespace UVC.Data
/// .setDataMapper(dataMapper)
/// .setHandler(data => {
/// // 상태 데이터 처리
/// Debug.Log($"상태 업데이트: {data?.ToString() ?? "null"}");
/// ULog.Debug($"상태 업데이트: {data?.ToString() ?? "null"}");
/// })
/// .setRepeat(true, 0, 5000); // 5초마다 무한 반복
/// httpPipeline.Add("statusMonitor", repeatingRequest);
@@ -245,7 +246,7 @@ namespace UVC.Data
else
{
JObject source = JObject.Parse(result);
dataObject = info.DataMapper.Mapping(source);
dataObject = info.DataMapper.Map(source);
}
}
}
@@ -263,14 +264,14 @@ namespace UVC.Data
else
{
JArray source = JArray.Parse(result);
dataObject = info.DataMapper.Mapping(source);
dataObject = info.DataMapper.Map(source);
}
}
}
}
catch (JsonException ex)
{
Debug.LogError($"JSON parsing error in ExecuteSingle for {key}: {ex.Message}\nResponse: {result}");
ULog.Error($"JSON parsing error in ExecuteSingle for {key}: {ex.Message}\nResponse: {result}", ex);
throw; // 상위에서 처리하도록 다시 throw
}
}
@@ -310,7 +311,7 @@ namespace UVC.Data
{
throw new OperationCanceledException("Operation cancelled", cancellationToken);
}
Debug.LogWarning($"Request failed for '{key}', retry {retryCount}/{info.MaxRetryCount} after {info.RetryDelay}ms: {ex.Message}");
ULog.Warning($"Request failed for '{key}', retry {retryCount}/{info.MaxRetryCount} after {info.RetryDelay}ms: {ex.Message}", ex);
await UniTask.Delay(info.RetryDelay);
}
}
@@ -324,7 +325,7 @@ namespace UVC.Data
}
// 모든 재시도 후에도 실패
Debug.LogError($"Request failed for '{key}' after {info.MaxRetryCount} retries: {lastException?.Message}");
ULog.Error($"Request failed for '{key}' after {info.MaxRetryCount} retries: {lastException?.Message}", lastException);
throw lastException;
}
@@ -390,7 +391,7 @@ namespace UVC.Data
catch (Exception ex)
{
// 다른 예외 처리
Debug.LogError($"Error in repeat execution for '{key}': {ex.Message}");
ULog.Error($"Error in repeat execution for '{key}': {ex.Message}", ex);
if (cts.IsCancellationRequested)
{
break;
@@ -494,7 +495,7 @@ namespace UVC.Data
/// var activeRequests = httpPipeline.GetActiveRequests();
/// foreach (var request in activeRequests)
/// {
/// Debug.Log($"요청 키: {request.Key}, 활성 상태: {request.Value.IsActive}, " +
/// ULog.Debug($"요청 키: {request.Key}, 활성 상태: {request.Value.IsActive}, " +
/// $"반복 중: {request.Value.IsRepeating}, 반복 간격: {request.Value.RepeatInterval}ms");
/// }
/// </code>