From 602442ecedf17800cddfdae188b05b40345cb011 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期五, 12 六月 2020 12:08:46 +0800 Subject: [PATCH] version --- service/netdisk_service.c | 42 ++++++++++++++++++++++++++---------------- 1 files changed, 26 insertions(+), 16 deletions(-) diff --git a/service/netdisk_service.c b/service/netdisk_service.c index bed648c..3612b21 100644 --- a/service/netdisk_service.c +++ b/service/netdisk_service.c @@ -69,35 +69,37 @@ int work(Netdisk_DownloadRequest drequest) { Netdisk *netdisk = NULL; + std::vector<std::string> files; int rv; + char rmsg[MAXLINE]; + strcpy(rmsg, "success"); + Netdisk_LoginInfo loginInfo = loginStore.getLoginInfo(drequest.loginUUID); std::map<std::string, Netdisk *>::iterator userDeviceIter = userDeviceMap.find( drequest.loginUUID); if( userDeviceIter != userDeviceMap.end() ) { netdisk = userDeviceIter->second; } - Netdisk_LoginInfo loginInfo = loginStore.getLoginInfo(drequest.loginUUID); if (netdisk == NULL) { netdisk = NetdiskFacotory::create(loginInfo.deviceType); if(netdisk != NULL) { userDeviceMap.insert({loginInfo.loginUUID, netdisk}); } else { - err_msg(0, "鏃犳硶璇嗗埆鐨勮澶囩被鍨嬶細 %s", loginInfo.deviceType.c_str()); + snprintf(rmsg, MAXLINE, "鏃犳硶璇嗗埆鐨勮澶囩被鍨嬶細 %s", loginInfo.deviceType.c_str()); } } if ( (rv = netdisk->login(loginInfo)) != 0 ) { - printf("涓嬭浇鐧诲綍澶辫触\n"); + snprintf(rmsg, MAXLINE, "璇烽噸鏂扮櫥褰�"); + } else if ( (rv = netdisk->downloadByTime(drequest, &files) ) != 0) { + snprintf(rmsg, MAXLINE, "涓嬭浇澶辫触"); } - - std::vector<std::string> files; - if ( (rv = netdisk->downloadByTime(drequest, &files) ) != 0) { - printf("涓嬭浇澶辫触\n"); - } + Json::Value response; Json::Value payload; - response["rv"] = rv; + response["code"] = rv; + response["msg"] = rmsg; Json::Value filelist; for(std::string f : files) { @@ -150,6 +152,7 @@ } jsonreader.parse(buf, request); + nng_free(buf, sz); std::string method = request["method"].asString(); std::map<std::string, RequestHandleFun>::iterator handleFunIter = requestHandleFunMap.find(method); @@ -160,15 +163,20 @@ std::cerr << "Don't support " << method << std::endl; } - nng_free(buf, sz); + } } - +/** + * 娉ㄥ唽璇锋眰澶勭悊鐨勬柟娉� + */ void registRequestHandleFun() { requestHandleFunMap.insert({"login", handleLogin}); + requestHandleFunMap.insert({"logout", handleLogout}); requestHandleFunMap.insert({"downloadByTime", handleDownloadByTimeAsync}); + requestHandleFunMap.insert({"getDeviceInfo", handleGetDeviceInfo}); } + void initThreadPool() { pthread_t tid; @@ -178,15 +186,17 @@ int main() { - - Netdisk_EnvConfig hcEnvConfig; - hcEnvConfig.libpath = config.get("hclib"); - HCNetdisk::netdisk_init(&hcEnvConfig); - + //鐜鍙橀噺鍒濆鍖� WORKERS = config.getInt("workers"); localUrl = config.get("local_url"); remoteUrl = config.get("remote_url"); + //娴峰悍璁惧鐜鍒濆鍖� + Netdisk_EnvConfig hcEnvConfig; + hcEnvConfig.libpath = config.get("hclib"); + HCNetdisk::netdisk_init(&hcEnvConfig); + + registRequestHandleFun(); -- Gitblit v1.8.0