修改生命周期管理策略,grpc service改为长生命周期,每个service对应的对象都是唯一的

This commit is contained in:
2023-01-29 18:21:54 +08:00
parent 8b8b909060
commit c2135db0be
5 changed files with 12 additions and 2 deletions
@@ -84,11 +84,14 @@ void UTimeTestWidget::OnShutdownServiceButtonClicked()
{
if (TimeServiceClient!=nullptr)
{
TimeService->RemoveClient(TimeServiceClient);
TimeServiceClient->Shutdown();
TimeServiceClient = nullptr;
}
TimeService->Shutdown();
TimeService->OnServiceStateChanged.RemoveDynamic(this, &UTimeTestWidget::OnTimeServiceStateChanged);
UTurboLinkGrpcUtilities::GetTurboLinkGrpcManager()->ReleaseService(TimeService);
TimeService = nullptr;
UpdateControlState();
@@ -116,6 +119,8 @@ void UTimeTestWidget::OnShutdownClientButtonClicked()
{
if (TimeServiceClient != nullptr)
{
TimeService->RemoveClient(TimeServiceClient);
TimeServiceClient->Shutdown();
TimeServiceClient = nullptr;
@@ -51,11 +51,14 @@ void ATurboLinkTestController::ShutdownTimeService_Implementation()
{
if (TimeServiceClient != nullptr)
{
TimeService->RemoveClient(TimeServiceClient);
TimeServiceClient->Shutdown();
TimeServiceClient = nullptr;
}
TimeService->Shutdown();
TimeService->OnServiceStateChanged.RemoveDynamic(this, &ATurboLinkTestController::OnTimeServiceStateChanged);
UTurboLinkGrpcUtilities::GetTurboLinkGrpcManager()->ReleaseService(TimeService);
TimeService = nullptr;
bIsClientCreated = false;
@@ -84,6 +87,8 @@ void ATurboLinkTestController::ShutdownTimeClient_Implementation()
{
if (TimeServiceClient != nullptr)
{
TimeService->RemoveClient(TimeServiceClient);
TimeServiceClient->Shutdown();
TimeServiceClient = nullptr;