configure the connection option through taos_options #671
This commit is contained in:
parent
5d1b173528
commit
afb33efc6a
|
@ -54,8 +54,9 @@
|
||||||
# interval of system monitor
|
# interval of system monitor
|
||||||
# monitorInterval 60
|
# monitorInterval 60
|
||||||
|
|
||||||
# set socket type(UDP by default). if udpsocket is 0, TCP is applied for all connections
|
# set socket type("udp" and "tcp").
|
||||||
# udpsocket 1
|
# The server and client should have the same socket type. Otherwise, connect will fail.
|
||||||
|
# sockettype udp
|
||||||
|
|
||||||
# RPC re-try timer, millisecond
|
# RPC re-try timer, millisecond
|
||||||
# rpcTimer 300
|
# rpcTimer 300
|
||||||
|
|
|
@ -174,6 +174,7 @@ int taos_options(TSDB_OPTION option, const void *arg, ...) {
|
||||||
SGlobalConfig *cfg_locale = tsGetConfigOption("locale");
|
SGlobalConfig *cfg_locale = tsGetConfigOption("locale");
|
||||||
SGlobalConfig *cfg_charset = tsGetConfigOption("charset");
|
SGlobalConfig *cfg_charset = tsGetConfigOption("charset");
|
||||||
SGlobalConfig *cfg_timezone = tsGetConfigOption("timezone");
|
SGlobalConfig *cfg_timezone = tsGetConfigOption("timezone");
|
||||||
|
SGlobalConfig *cfg_socket = tsGetConfigOption("sockettype");
|
||||||
|
|
||||||
switch (option) {
|
switch (option) {
|
||||||
case TSDB_OPTION_CONFIGDIR:
|
case TSDB_OPTION_CONFIGDIR:
|
||||||
|
@ -304,6 +305,20 @@ int taos_options(TSDB_OPTION option, const void *arg, ...) {
|
||||||
tsCfgStatusStr[cfg_timezone->cfgStatus], (char *)cfg_timezone->ptr);
|
tsCfgStatusStr[cfg_timezone->cfgStatus], (char *)cfg_timezone->ptr);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TSDB_OPTION_SOCKET_TYPE:
|
||||||
|
if (cfg_socket && cfg_socket->cfgStatus <= TSDB_CFG_CSTATUS_OPTION) {
|
||||||
|
if (strcasecmp(arg, TAOS_SOCKET_TYPE_NAME_UDP) != 0 && strcasecmp(arg, TAOS_SOCKET_TYPE_NAME_TCP) != 0) {
|
||||||
|
tscError("only 'tcp' or 'udp' allowed for configuring the socket type");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
strncpy(tsSocketType, arg, tListLen(tsSocketType));
|
||||||
|
cfg_socket->cfgStatus = TSDB_CFG_CSTATUS_OPTION;
|
||||||
|
tscPrint("socket type is set:%s", tsSocketType);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
tscError("Invalid option %d", option);
|
tscError("Invalid option %d", option);
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -46,6 +46,7 @@ typedef enum {
|
||||||
TSDB_OPTION_TIMEZONE,
|
TSDB_OPTION_TIMEZONE,
|
||||||
TSDB_OPTION_CONFIGDIR,
|
TSDB_OPTION_CONFIGDIR,
|
||||||
TSDB_OPTION_SHELL_ACTIVITY_TIMER,
|
TSDB_OPTION_SHELL_ACTIVITY_TIMER,
|
||||||
|
TSDB_OPTION_SOCKET_TYPE,
|
||||||
TSDB_MAX_OPTIONS
|
TSDB_MAX_OPTIONS
|
||||||
} TSDB_OPTION;
|
} TSDB_OPTION;
|
||||||
|
|
||||||
|
|
|
@ -132,7 +132,7 @@ extern int tsStreamCompRetryDelay;
|
||||||
extern int tsProjectExecInterval;
|
extern int tsProjectExecInterval;
|
||||||
extern int64_t tsMaxRetentWindow;
|
extern int64_t tsMaxRetentWindow;
|
||||||
|
|
||||||
extern int tsUDPSocket;
|
extern char tsSocketType[4];
|
||||||
|
|
||||||
extern char tsHttpIp[];
|
extern char tsHttpIp[];
|
||||||
extern short tsHttpPort;
|
extern short tsHttpPort;
|
||||||
|
|
|
@ -30,12 +30,15 @@ extern "C" {
|
||||||
#define TAOS_CONN_HTTPS 4
|
#define TAOS_CONN_HTTPS 4
|
||||||
#define TAOS_CONN_HTTPC 5
|
#define TAOS_CONN_HTTPC 5
|
||||||
|
|
||||||
|
#define TAOS_SOCKET_TYPE_NAME_TCP "tcp"
|
||||||
|
#define TAOS_SOCKET_TYPE_NAME_UDP "udp"
|
||||||
|
|
||||||
#define TAOS_ID_ASSIGNED 0
|
#define TAOS_ID_ASSIGNED 0
|
||||||
#define TAOS_ID_FREE 1
|
#define TAOS_ID_FREE 1
|
||||||
#define TAOS_ID_REALLOCATE 2
|
#define TAOS_ID_REALLOCATE 2
|
||||||
|
|
||||||
#define TAOS_CONN_SOCKET_TYPE_S() ((tsUDPSocket == 1)? TAOS_CONN_UDPS:TAOS_CONN_TCPS)
|
#define TAOS_CONN_SOCKET_TYPE_S() ((strcasecmp(tsSocketType, TAOS_SOCKET_TYPE_NAME_UDP) == 0)? TAOS_CONN_UDPS:TAOS_CONN_TCPS)
|
||||||
#define TAOS_CONN_SOCKET_TYPE_C() ((tsUDPSocket == 1)? TAOS_CONN_UDP:TAOS_CONN_TCPC)
|
#define TAOS_CONN_SOCKET_TYPE_C() ((strcasecmp(tsSocketType, TAOS_SOCKET_TYPE_NAME_UDP) == 0)? TAOS_CONN_UDP:TAOS_CONN_TCPC)
|
||||||
|
|
||||||
#define taosSendMsgToPeer(x, y, z) taosSendMsgToPeerH(x, y, z, NULL)
|
#define taosSendMsgToPeer(x, y, z) taosSendMsgToPeerH(x, y, z, NULL)
|
||||||
#define taosOpenRpcChann(x, y, z) taosOpenRpcChannWithQ(x, y, z, NULL)
|
#define taosOpenRpcChann(x, y, z) taosOpenRpcChannWithQ(x, y, z, NULL)
|
||||||
|
|
|
@ -122,8 +122,7 @@ int tsStreamCompRetryDelay = 10; // the stream computing delay
|
||||||
int tsProjectExecInterval = 10000; // every 10sec, the projection will be executed once
|
int tsProjectExecInterval = 10000; // every 10sec, the projection will be executed once
|
||||||
int64_t tsMaxRetentWindow = 24 * 3600L; // maximum time window tolerance
|
int64_t tsMaxRetentWindow = 24 * 3600L; // maximum time window tolerance
|
||||||
|
|
||||||
int tsUDPSocket = 1; // use UDP by default, if tsUDPSocket equals to 0, all connection use TCP socket
|
char tsSocketType[4] = "udp"; // use UDP by default[option: udp, tcp]
|
||||||
|
|
||||||
char tsHttpIp[TSDB_IPv4ADDR_LEN] = "0.0.0.0";
|
char tsHttpIp[TSDB_IPv4ADDR_LEN] = "0.0.0.0";
|
||||||
short tsHttpPort = 6020; // only tcp, range tcp[6020]
|
short tsHttpPort = 6020; // only tcp, range tcp[6020]
|
||||||
// short tsNginxPort = 6060; //only tcp, range tcp[6060]
|
// short tsNginxPort = 6060; //only tcp, range tcp[6060]
|
||||||
|
@ -500,8 +499,8 @@ void tsInitGlobalConfig() {
|
||||||
TSDB_PASSWORD_LEN, TSDB_CFG_UTYPE_NONE);
|
TSDB_PASSWORD_LEN, TSDB_CFG_UTYPE_NONE);
|
||||||
|
|
||||||
// socket type, udp by default
|
// socket type, udp by default
|
||||||
tsInitConfigOption(cfg++, "udpsocket", &tsUDPSocket, TSDB_CFG_VTYPE_INT,
|
tsInitConfigOption(cfg++, "sockettype", tsSocketType, TSDB_CFG_VTYPE_STRING,
|
||||||
TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_CLIENT | TSDB_CFG_CTYPE_B_SHOW, 0, 1, 1, TSDB_CFG_UTYPE_NONE);
|
TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_CLIENT | TSDB_CFG_CTYPE_B_SHOW, 0, 0, 3, TSDB_CFG_UTYPE_NONE);
|
||||||
|
|
||||||
// locale & charset
|
// locale & charset
|
||||||
tsInitConfigOption(cfg++, "timezone", tsTimezone, TSDB_CFG_VTYPE_STRING,
|
tsInitConfigOption(cfg++, "timezone", tsTimezone, TSDB_CFG_VTYPE_STRING,
|
||||||
|
|
Loading…
Reference in New Issue