From d94570b4eea35f84ed26ea830697a474b4339441 Mon Sep 17 00:00:00 2001 From: wuhaotian <694496640@qq.com> Date: Tue, 15 Nov 2022 21:53:33 +0800 Subject: [PATCH] Reconstruct the part of server send response to client --- pwrapis/inc/server.h | 2 +- pwrapis/src/cpuservice.c | 71 ++++------------------------------------ pwrapis/src/server.c | 8 ++--- 3 files changed, 11 insertions(+), 70 deletions(-) diff --git a/pwrapis/inc/server.h b/pwrapis/inc/server.h index 7b7bd6d..b7db609 100644 --- a/pwrapis/inc/server.h +++ b/pwrapis/inc/server.h @@ -25,7 +25,7 @@ */ int StartServer(void); void StopServer(void); -int SendRspToClient(const PwrMsg *req, int rspCode, char *data, uint32_t len); +void SendRspToClient(const PwrMsg *req, int rspCode, char *data, uint32_t len); int SendMetadataToClient(uint32_t sysId, char *data, uint32_t len); int SendRspMsg(PwrMsg *rsp); diff --git a/pwrapis/src/cpuservice.c b/pwrapis/src/cpuservice.c index 030a978..b00f633 100644 --- a/pwrapis/src/cpuservice.c +++ b/pwrapis/src/cpuservice.c @@ -353,17 +353,7 @@ void GetCpuinfo(PwrMsg *req) } bzero(rstData, sizeof(rstData)); int rspCode = CpuInfoRead(rstData); - PwrMsg *rsp = (PwrMsg *)malloc(sizeof(PwrMsg)); - if (!rsp) { - Logger(ERROR, MD_NM_SVR_CPU, "Malloc failed."); - free(rstData); - return; - } - bzero(rsp, sizeof(PwrMsg)); - GenerateRspMsg(req, rsp, rspCode, (char *)rstData, sizeof(PWR_CPU_Info)); - if (SendRspMsg(rsp) != SUCCESS) { - ReleasePwrMsg(&rsp); - } + SendRspToClient(req, rspCode, (char *)rstData, sizeof(PWR_CPU_Info)); } void GetCpuUsage(PwrMsg *req) { @@ -377,17 +367,7 @@ void GetCpuUsage(PwrMsg *req) return; } int rspCode = CPUUsageRead(rstData, coreNum); - PwrMsg *rsp = (PwrMsg *)malloc(sizeof(PwrMsg)); - if (!rsp) { - Logger(ERROR, MD_NM_SVR_CPU, "Malloc failed."); - free(rstData); - return; - } - bzero(rsp, sizeof(PwrMsg)); - GenerateRspMsg(req, rsp, rspCode, (char *)rstData, sizeof(PWR_CPU_Usage) + sizeof(PWR_CPU_CoreUsage) * coreNum); - if (SendRspMsg(rsp) != SUCCESS) { - ReleasePwrMsg(&rsp); - } + SendRspToClient(req, rspCode, (char *)rstData, sizeof(PWR_CPU_Usage) + sizeof(PWR_CPU_CoreUsage) * coreNum); } void GetCpuPerfData(PwrMsg *req) @@ -401,17 +381,7 @@ void GetCpuPerfData(PwrMsg *req) return; } int rspCode = PerfDataRead(rstData); - PwrMsg *rsp = (PwrMsg *)malloc(sizeof(PwrMsg)); - if (!rsp) { - Logger(ERROR, MD_NM_SVR_CPU, "Malloc failed."); - free(rstData); - return; - } - bzero(rsp, sizeof(PwrMsg)); - GenerateRspMsg(req, rsp, rspCode, (char *)rstData, sizeof(PWR_CPU_PerfData)); - if (SendRspMsg(rsp) != SUCCESS) { - ReleasePwrMsg(&rsp); - } + SendRspToClient(req, rspCode, (char *)rstData, sizeof(PWR_CPU_PerfData)); } void GetCpuFreqGovernor(PwrMsg *req) @@ -425,17 +395,7 @@ void GetCpuFreqGovernor(PwrMsg *req) return; } int rspCode = GovernorRead(rstData); - PwrMsg *rsp = (PwrMsg *)malloc(sizeof(PwrMsg)); - if (!rsp) { - Logger(ERROR, MD_NM_SVR_CPU, "Malloc failed."); - free(rstData); - return; - } - bzero(rsp, sizeof(PwrMsg)); - GenerateRspMsg(req, rsp, rspCode, (char *)rstData, sizeof(char) * MAX_ELEMENT_NAME_LEN); - if (SendRspMsg(rsp) != SUCCESS) { - ReleasePwrMsg(&rsp); - } + SendRspToClient(req, rspCode, (char *)rstData, sizeof(char) * MAX_ELEMENT_NAME_LEN); } void SetCpuFreqGovernor(PwrMsg *req) @@ -449,16 +409,7 @@ void SetCpuFreqGovernor(PwrMsg *req) int poNum; GetPolicys(policys, &poNum); int rspCode = GovernorSet(req->data, policys, &poNum); - PwrMsg *rsp = (PwrMsg *)malloc(sizeof(PwrMsg)); - if (!rsp) { - Logger(ERROR, MD_NM_SVR_CPU, "Malloc failed."); - return; - } - bzero(rsp, sizeof(PwrMsg)); - GenerateRspMsg(req, rsp, rspCode, NULL, 0); - if (SendRspMsg(rsp) != SUCCESS) { - ReleasePwrMsg(&rsp); - } + SendRspToClient(req, rspCode, NULL, 0); } void GetCpuFreq(PwrMsg *req) @@ -476,17 +427,7 @@ void GetCpuFreq(PwrMsg *req) return; } int rspCode = FreqRead(rstData, policys, &poNum); - PwrMsg *rsp = (PwrMsg *)malloc(sizeof(PwrMsg)); - if (!rsp) { - Logger(ERROR, MD_NM_SVR_CPU, "Malloc failed."); - free(rstData); - return; - } - bzero(rsp, sizeof(PwrMsg)); - GenerateRspMsg(req, rsp, rspCode, (char *)rstData, sizeof(PWR_CPU_CurFreq) * poNum); - if (SendRspMsg(rsp) != SUCCESS) { - ReleasePwrMsg(&rsp); - } + SendRspToClient(req, rspCode, (char *)rstData, sizeof(PWR_CPU_CurFreq) * poNum); } // 总CPU核数 diff --git a/pwrapis/src/server.c b/pwrapis/src/server.c index 4416093..00b3323 100644 --- a/pwrapis/src/server.c +++ b/pwrapis/src/server.c @@ -435,20 +435,20 @@ void StopServer(void) } // 本函数会将data指针所指向数据迁移走,调用方勿对data进行释放操作。 -int SendRspToClient(const PwrMsg *req, int rspCode, char *data, uint32_t len) +void SendRspToClient(const PwrMsg *req, int rspCode, char *data, uint32_t len) { if (!req) { - return ERR_NULL_POINTER; + return; } if (!data && len != 0) { - return ERR_INVALIDE_PARAM; + return; } PwrMsg *rsp = (PwrMsg *)malloc(sizeof(PwrMsg)); if (!rsp) { Logger(ERROR, MD_NM_SVR, "Malloc failed."); free(data); - return ERR_SYS_EXCEPTION; + return; } bzero(rsp, sizeof(PwrMsg)); GenerateRspMsg(req, rsp, rspCode, data, len); -- Gitee