意见修改

Signed-off-by: songdawei <songdawei1@huawei.com>
This commit is contained in:
songdawei 2022-03-25 03:59:17 +00:00
parent c9a05e212e
commit 7c13caaf85
5 changed files with 518 additions and 781 deletions

View File

@ -14,34 +14,34 @@
*/
#include "shm_utils.h"
#include <string.h>
#include <cstring>
using namespace std;
#define PERMISSION 0666
#define CODE_HEAD 4
#define STR_KEY 5
#define CODE_LEN 5
#define SHARED_DATA_LEN 5
#define WAITTIME 2
#define DECIM_TEN 10
#define CALCU_TWO 2
const int PERMISSION = 0666;
const int CODE_HEAD = 4;
const int STR_KEY = 5;
const int CODE_LEN = 5;
const int SHARED_DATA_LEN = 5;
const int WAITTIME = 2;
const int DECIM_TEN = 10;
const int CALCU_TWO = 2;
const int CALCU_FOUR_AIGHT = 48;
static void *shm = NULL; //分配的共享内存的原始首地址
static void *shm = nullptr; //分配的共享内存的原始首地址
static struct shared_use_st *shared; //指向shm
static int shmid; //共享内存标识符
int createShm(int key)
{
//创建共享内存
shmid = shmget((key_t)key,sizeof(struct shared_use_st),PERMISSION|IPC_CREAT);
shmid = shmget(static_cast(key_t)key, sizeof(struct shared_use_st), PERMISSION|IPC_CREAT);
if(shmid == -1)
{
return -1;
}
//将共享内存连接到当前进程的地址空间
shm = shmat(shmid,NULL,0);
if(shm == (void*)-1)
shm = shmat(shmid,nullptr,0);
if(shm == reinterpret_cast(void*)-1)
{
return -1;
}
@ -54,7 +54,7 @@ int createShm(int key)
void initShm(void)
{
memset_s(shm, sizeof(struct shared_use_st), 0, sizeof(struct shared_use_st));
if(shared == NULL)
if (shared == nullptr)
{
return;
}
@ -70,7 +70,7 @@ int readDataFromShm(char* buf)
return -1;
}
if(shared->written !=0)
if (shared->written !=0)
{
strcpy_s(buf , strlen(shared->data)+1, shared->data);
shared->written = 0;
@ -99,9 +99,9 @@ int waitDataWithCode(char* code, char* data)
{
if(readDataFromShm(str) ==0)
{
if(strncmp(code, str, CODE_HEAD) == 0)
if (strncmp(code, str, CODE_HEAD) == 0)
{
strncpy(data,str+STR_KEY,1);
strncpy(data, str+STR_KEY, 1);
return 0;
}
@ -192,7 +192,7 @@ char* Int2String(int num,char *str)//10进制
//转换
do
{
str[i++] = num%DECIM_TEN+48;
str[i++] = num%DECIM_TEN+CALCU_FOUR_AIGHT;
num /=DECIM_TEN;
}while(num);//num不为0继续循环
@ -206,7 +206,7 @@ char* Int2String(int num,char *str)//10进制
++i;//由于有负号,所以交换的对称轴也要后移一位
}
//对称交换
for(;j<i/CALCU_TWO;j++)
for (; j<i/CALCU_TWO; j++)
{
//对称交换两端的值 其实就是省下中间变量交换a+b的值a=a+b;b=a-b;a=a-b;
str[j] = str[j] + str[i-1-j];

View File

@ -16,18 +16,18 @@
#ifndef SHM_UTILS_H
#define SHM_UTILS_H
#include <errno.h>
#include <cerrno>
#include <securec.h>
#include <stdio.h>
#include <stdlib.h>
#include <cstdio>
#include <cstdlib>
#include <unistd.h>
#include <stdint.h>
#include <stdarg.h>
#include <cstdint>
#include <cstdarg>
#include <pthread.h>
#include <sys/time.h>
#include <sys/shm.h>
#define MAX_DATA_LENGTH 1024
const int MAX_DATA_LENGTH =1024;
#define MAX_WAIT_TIMEOUT 10
#define SHM_SEND_KEY 123456
#define SHM_RECV_KEY 123466
@ -60,4 +60,4 @@ char* Int2String(int num,char *str);
void initShm(void);
int readDataFromShm(char* buf);
#endif
#endif

File diff suppressed because it is too large Load Diff

View File

@ -14,26 +14,26 @@
*/
#include "process_msg.h"
#include <stdlib.h>
#include <stdio.h>
#include <cstdlib>
#include <cstdio>
#include <cstdint>
#include <iostream>
#include "types.h"
#include "distributed_kv_data_manager.h"
#include "string.h"
#include "cstring"
#include<sstream> // 使用stringstream
#include <string.h>
#include <cstring>
#include <cstring>
#include <securec.h>
using namespace OHOS::DistributedKv;
using namespace std;
#define DEFDELTA 0.00001
#define MAX_DATA_LENGTH 1024
#define NUMTHREE 3
#define STR_VALUE 23
#define RESULR_TWO 2
#define CODE_LEN_TEN 10
const int DEFDELTA = 0.00001;
const int MAX_DATA_LENGTH = 1024;
const int NUMTHREE = 3;
const int STR_VALUE = 23;
const int RESULR_TWO = 2;
const int CODE_LEN_TEN = 10;
class DisKvTest {
public:
@ -49,7 +49,7 @@ public:
};
DistributedKvDataManager DisKvTest::manager;
std::shared_ptr<SingleKvStore> DisKvTest::KvStorePtr = NULL; // declare kvstore instance.
std::shared_ptr<SingleKvStore> DisKvTest::KvStorePtr = nullptr; // declare kvstore instance.
Status DisKvTest::statusGetKvStore = Status::ERROR;
Status DisKvTest::statusCloseKvStore = Status::ERROR;
Status DisKvTest::statusDeleteKvStore = Status::ERROR;
@ -57,13 +57,13 @@ UserId DisKvTest::userId;
AppId DisKvTest::appId;
StoreId DisKvTest::storeIdTest;
void initKvstoreId()
void initKvstoreId(void)
{
DisKvTest::userId.userId = "account0";
DisKvTest::appId.appId = "com.ohos.kvdatamanager3.test";
DisKvTest::storeIdTest.storeId = "test3";
//1.创建数据库
// 1.创建数据库
Options options {
.createIfMissing = true,
.encrypt = false, // .persistant = true,
@ -79,15 +79,15 @@ void initKvstoreId()
char* getRealData(char* str, char* delims)
{
if(str==NULL || delims==NULL)
if(str==nullptr || delims==nullptr)
{
return NULL;
return nullptr;
}
char *result = strtok( str, delims );
char *second = NULL;
while( result != NULL ) {
char *second = nullptr;
while( result != nullptr ) {
second = result;
result = strtok( NULL,delims );
result = strtok( nullptr,delims );
}
return second;
}
@ -96,7 +96,7 @@ void getParam(char* putData, char ret[] [MAX_DATA_LENGTH])
{
char str[MAX_DATA_LENGTH] = {":"};
memset_s(str, MAX_DATA_LENGTH, 0, MAX_DATA_LENGTH);
if (putData == NULL)
if (putData == nullptr)
{
return;
}
@ -104,12 +104,12 @@ void getParam(char* putData, char ret[] [MAX_DATA_LENGTH])
char delims[2] = {":"};
char *result = strtok( str, delims );
int i = 0;
while( result != NULL ) {
while( result != nullptr ) {
printf( "result is \"%s\"\n", result);
strcpy_s(ret[i], strlen(result)+1, result);
result = strtok( NULL, delims );
result = strtok( nullptr, delims );
i++;
if(i == NUMTHREE)
if (i == NUMTHREE)
{
return;
}
@ -129,9 +129,9 @@ int ProcessDataMgr(int code, char* recvData)
LOG("ProcessDataMgr, begin");
initKvstoreId();
if (DisKvTest::KvStorePtr == NULL)
if (DisKvTest::KvStorePtr == nullptr)
{
std::cout << "ERRDisKvTest::KvStorePtr == NULL"<< std::endl;
std::cout << "ERRDisKvTest::KvStorePtr == nullptr"<< std::endl;
return RESULT_ERR;
}
std::cout << "create status=" << static_cast<int>(DisKvTest::statusGetKvStore) << std::endl;
@ -186,7 +186,7 @@ int processDeletetData(char* putData)
char result[NUMTHREE][MAX_DATA_LENGTH] = {{0}, {0}, {0}};
memset_s(result, NUMTHREE*MAX_DATA_LENGTH, 0, NUMTHREE*MAX_DATA_LENGTH);
getParam(putData, result);
for(int i=0; i<NUMTHREE; i++)
for (int i=0; i<NUMTHREE; i++)
{
LOG("LOGdisDataTest---processGetData %s", result[i]);
}
@ -209,11 +209,11 @@ int processDeletetData(char* putData)
int processPutData(char* putData)
{
LOG("LOGdisDataTest-processPutData, begin");
//解析远端发来的数据 result[0]=code result[1]=key result[RESULR_TWO]=value
// 解析远端发来的数据 result[0]=code result[1]=key result[RESULR_TWO]=value
char result[NUMTHREE][MAX_DATA_LENGTH] = {{0}, {0}, {0}};
memset_s(result, NUMTHREE*MAX_DATA_LENGTH, 0, NUMTHREE*MAX_DATA_LENGTH);
getParam(putData, result);
for(int i=0; i<NUMTHREE; i++)
for (int i=0; i<NUMTHREE; i++)
{
LOG("LOGdisDataTest-processPutData %s", result[i]);
}
@ -228,12 +228,12 @@ int processPutData(char* putData)
}
else if(strcmp(result[1], "math_score_float") == 0)
{
float f2 = atof(result[RESULR_TWO]);
float f2 = atof(result[RESULR_TWO]);
valueInt = Value(TransferTypeToByteArray<float>(f2));
}
else if(strcmp(result[1], "math_score_double") == 0)
{
double f2 = atof(result[RESULR_TWO]);
double f2 = atof(result[RESULR_TWO]);
valueInt = Value(TransferTypeToByteArray<double>(f2));
}
else if(strcmp(result[1], "math_score_int64_t") == 0)
@ -256,8 +256,8 @@ int processPutData(char* putData)
ss=putData;
ss2 = ss.substr(STR_VALUE);
cout<<"LOGdisDataTest2--ss = "<< ss<<endl;
cout<<"LOGdisDataTest2--ss2 = "<< ss2<<endl;
LOG("LOGdisDataTest2--ss2.c_str() = %s", ss2.c_str());
cout<<"LOGdisDataTest2--ss2 = "<< ss2<<endl;
LOG("LOGdisDataTest2--ss2.c_str() = %s", ss2.c_str());
valueInt = Value(ss2);
}
@ -282,16 +282,16 @@ int processGetData(char* putData)
{
LOG("LOGdisDataTest-processGetData, begin");
//解析远端发来的数据 result[0]=code result[1]=key result[RESULR_TWO]=value
// 解析远端发来的数据 result[0]=code result[1]=key result[RESULR_TWO]=value
char result[NUMTHREE][MAX_DATA_LENGTH] = {{0}, {0}, {0}};
memset_s(result, NUMTHREE*MAX_DATA_LENGTH, 0, NUMTHREE*MAX_DATA_LENGTH);
getParam(putData, result);
for(int i=0; i<NUMTHREE; i++)
for (int i=0; i<NUMTHREE; i++)
{
LOG("for result[i] %s", result[i]);
}
//获取到本端数据
// 获取到本端数据
Value valueRetInt;
Key keyInt=result[1];
Status status = DisKvTest::KvStorePtr->Get(keyInt, valueRetInt);
@ -309,7 +309,7 @@ int processGetData(char* putData)
{
LOG("LOGdisDataTest--math_score_int ");
int iaaa = TransferByteArrayToType<int>(valueRetInt.Data());
int i2 = atoi(result[RESULR_TWO]);
int i2 = atoi(result[RESULR_TWO]);
LOG("LOGdisDataTest--iaaa= %d", iaaa);
LOG("LOGdisDataTest--i2 = %d", i2);
if (iaaa == i2)
@ -322,7 +322,7 @@ int processGetData(char* putData)
{
LOG("LOGdisDataTest--math_score_float ");
float faaa = TransferByteArrayToType<float>(valueRetInt.Data());
float f2 = atof(result[RESULR_TWO]);
float f2 = atof(result[RESULR_TWO]);
float fdelta = f2 - faaa;
LOG("LOGdisDataTest--faaa= %f", faaa);
LOG("LOGdisDataTest--f2 = %f", f2);
@ -336,7 +336,7 @@ int processGetData(char* putData)
{
LOG("LOGdisDataTest--math_score_double ");
double daaa = TransferByteArrayToType<double>(valueRetInt.Data());
double d2 = atof(result[RESULR_TWO]);
double d2 = atof(result[RESULR_TWO]);
double delta = d2 - daaa;
LOG("LOGdisDataTest--daaa= %f", daaa);
LOG("LOGdisDataTest--d2 = %f", d2);
@ -384,9 +384,9 @@ int processGetData(char* putData)
}
else if(strcmp(result[1], "math_score_vector") == 0)
{
LOG("LOGdisDataTest--result[RESULR_TWO]= %s", result[RESULR_TWO]);
LOG("LOGdisDataTest--ret.c_str() = %s", ret.c_str());
if(strcmp(result[RESULR_TWO], ret.c_str()) == 0)
LOG("LOGdisDataTest--result[RESULR_TWO]= %s", result[RESULR_TWO]);
LOG("LOGdisDataTest--ret.c_str() = %s", ret.c_str());
if (strcmp(result[RESULR_TWO], ret.c_str()) == 0)
{
return RESULT_OK;
}

View File

@ -16,20 +16,20 @@
#ifndef TEST_PROCESS_MSG_H
#define TEST_PROCESS_MSG_H
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cerrno>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <unistd.h>
#include <stdint.h>
#include <cstdint>
#include <pthread.h>
#include <stdarg.h>
#include <cstdarg>
#include "distributed_kv_data_manager.h"
#include <sys/time.h>
#define MAX_DATA_LENGTH 1024
#define RESULT_OK 0
#define RESULT_ERR 1
const int MAX_DATA_LENGTH = 1024;
const int RESULT_OK = 0;
const int RESULT_ERR = 1;
typedef enum{
CTRL_CODE_SOFTBUS_TYPE = 1000,
@ -78,5 +78,5 @@ int processCreateKv(char* putData);
int processDeleteKv(char* putData);
char* getRealData(char* str, char* delims);
void getParam(char* str, char ret[] [MAX_DATA_LENGTH]);
void initKvstoreId();
#endif
void initKvstoreId(void);
#endif