rserver.c 2.0 KB
Newer Older
S
slguan 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
/*
 * Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
 *
 * This program is free software: you can use, redistribute, and/or modify
 * it under the terms of the GNU Affero General Public License, version 3
 * or later ("AGPL"), as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */

//#define _DEFAULT_SOURCE
#include "os.h"
#include "tlog.h"
#include "trpc.h"
#include <stdint.h>

陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
22 23 24
void processMsg(char type, void *pCont, int contLen, void *ahandle, int32_t code) {
  dPrint("request is received, type:%d, contLen:%d", type, contLen);
  void *rsp = rpcMallocCont(128);
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
25 26 27 28 29 30 31 32 33 34 35

  //rpcSendResponse(ahandle, 1, rsp, 128);

  SRpcIpSet ipSet;
  ipSet.numOfIps = 1;
  ipSet.index = 0;
  ipSet.port = 7000;
  ipSet.ip[0] = inet_addr("192.168.0.2");

  rpcSendRedirectRsp(ahandle, &ipSet);

陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
36 37 38
  rpcFreeCont(pCont);
}

S
slguan 已提交
39
int32_t main(int32_t argc, char *argv[]) {
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
40 41
  taosInitLog("server.log", 100000, 10);

S
slguan 已提交
42 43 44 45 46 47
  dPrint("unit test for rpc module");

  SRpcInit rpcInit;
  memset(&rpcInit, 0, sizeof(rpcInit));
  rpcInit.localIp      = "0.0.0.0";
  rpcInit.localPort    = 7000;
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
48
  rpcInit.label        = "APP";
S
slguan 已提交
49
  rpcInit.numOfThreads = 1;
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
50
  rpcInit.cfp          = processMsg;
S
slguan 已提交
51
  rpcInit.sessions     = 1000;
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
52
  rpcInit.connType     = TAOS_CONN_UDPS;
S
slguan 已提交
53
  rpcInit.idleTime     = 2000;
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
54 55 56
  rpcInit.meterId      = "jefftao";
  rpcInit.secret       = "password";
  rpcInit.ckey         = "key";
S
slguan 已提交
57

陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
58 59
  void *pRpc = rpcOpen(&rpcInit);
  if (pRpc == NULL) {
S
slguan 已提交
60
    dError("failed to initialize rpc");
陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
61
    return -1;
S
slguan 已提交
62 63
  }

陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
64 65 66 67 68 69 70 71 72 73 74 75
/*
  SRpcIpSet ipSet;
  ipSet.numOfIps = 2;
  ipSet.index = 0;
  ipSet.ip[0] = inet_addr("127.0.0.1");
  ipSet.ip[1] = inet_addr("192.168.0.1");
*/

  dPrint("server is running...");

  getchar();

S
slguan 已提交
76 77 78 79
  return 0;
}