Exemple #1
0
/*
 * Set key/value
 */
int RemoteDBSetKeyValue(int db,tKey key,tValue value)
{
    char Buf[MAX_BUF_LEN] = "\0";
    int BufSize = MAX_BUF_LEN;
    int ret = FormatData2(Buf,&BufSize,SET_CMD,(char*)key.str,key.len,value.str,value.len);
    if(ret == -1)
    {
        return -1;
    }
    SendData(db,Buf,BufSize);
    BufSize = MAX_BUF_LEN;
    if(RecvData(db,Buf,&BufSize) == 0)
    {
        fprintf(stderr,"Connection Error,%s:%d\n",__FILE__,__LINE__);
        return -1;            
    } 
    int cmd = -1;
    int DataNum = -1;
    char Data1[MAX_BUF_LEN] = "\0";
    int Data1Size = MAX_BUF_LEN;
    char Data2[MAX_BUF_LEN] = "\0";
    int Data2Size = MAX_BUF_LEN; 
    ParseData(Buf,BufSize,&cmd,&DataNum,Data1,&Data1Size,Data2,&Data2Size);
    if(cmd != SET_RSP || DataNum != 0)
    {
        fprintf(stderr,"Remote DBSetKeyValue Error,%s:%d\n", __FILE__,__LINE__);
        return -1;
    }
    return 0;
}
Exemple #2
0
/*
 * Set key/value
 */
int DBSetKeyValue(tDatabase db,tKey key,tValue value)
{
    debug("SET_CMD:%d -> %s\n",key,value.str);
    char Buf[MAX_BUF_LEN] = "\0";
    int BufSize = MAX_BUF_LEN;
    int ret = FormatData2(Buf,&BufSize,SET_CMD,(char*)&key,sizeof(tKey),value.str,value.len);
    if(ret == -1)
    {
        return -1;
    }
    SendData(*(tServiceHandler*)db,Buf,BufSize);
    BufSize = MAX_BUF_LEN;
    if(RecvData(*(tServiceHandler*)db,Buf,&BufSize) == 0)
    {
        fprintf(stderr,"Connection Error,%s:%d\n",__FILE__,__LINE__);
        return -1;            
    } 
    int cmd = -1;
    int DataNum = -1;
    char Data1[MAX_BUF_LEN] = "\0";
    int Data1Size = MAX_BUF_LEN;
    char Data2[MAX_BUF_LEN] = "\0";
    int Data2Size = MAX_BUF_LEN; 
    ParseData(Buf,BufSize,&cmd,&DataNum,Data1,&Data1Size,Data2,&Data2Size);
    if(cmd != SET_RSP || DataNum != 0)
    {
        fprintf(stderr,"Remote DBSetKeyValue Error,%s:%d\n", __FILE__,__LINE__);
        return -1;
    }
    return 0;
}
Exemple #3
0
int main()
{
    char Buf[MAX_BUF_LEN] = "\0";
    char *str = "hello world!";
    FormatData(Buf,MAX_BUF_LEN,CLOSE_CMD);
    int cmd = -1;
    int DataNum = -1;
    char Data1[MAX_BUF_LEN] = "\0";
    int Data1Size = MAX_BUF_LEN;
    char Data2[MAX_BUF_LEN] = "\0";
    int Data2Size = MAX_BUF_LEN;
    ParseData(Buf,MAX_BUF_LEN,&cmd,&DataNum,Data1,&Data1Size,Data2,&Data2Size);
    if(cmd == CLOSE_CMD && DataNum == 0)
    {
        printf("Test Zero Data Result: Pass\n");
    }
    FormatData1(Buf,MAX_BUF_LEN,OPEN_CMD,str,strlen(str));
    ParseData(Buf,MAX_BUF_LEN,&cmd,&DataNum,Data1,&Data1Size,Data2,&Data2Size);
    if(cmd == OPEN_CMD && DataNum == 1
        && Data1Size == strlen(str)
        && strcmp(Data1,str) == 0)
    {
        printf("%s\n",Data1);
        printf("Test One Data Result: Pass\n");
    }
    FormatData2(Buf,MAX_BUF_LEN,SET_CMD,str,strlen(str),str,strlen(str));
    ParseData(Buf,MAX_BUF_LEN,&cmd,&DataNum,Data1,&Data1Size,Data2,&Data2Size);
    if(cmd == SET_CMD && DataNum == 2
        && Data1Size == strlen(str) && Data2Size == strlen(str)
        && strcmp(Data1,str) == 0 && strcmp(Data2,str) == 0)
    {
        printf("%s\n",Data1);
        printf("%s\n",Data2);
        printf("Test Two Data Result: Pass\n");
    }    
    return 0;   
}