Merge branch '3.0' into enh/opt-transport
This commit is contained in:
parent
cca3319292
commit
9ac3ca9b2f
|
@ -138,6 +138,7 @@ int32_t taosShutDownSocketRDWR(TdSocketPtr pSocket);
|
||||||
int32_t taosShutDownSocketServerRDWR(TdSocketServerPtr pSocketServer);
|
int32_t taosShutDownSocketServerRDWR(TdSocketServerPtr pSocketServer);
|
||||||
int32_t taosSetNonblocking(TdSocketPtr pSocket, int32_t on);
|
int32_t taosSetNonblocking(TdSocketPtr pSocket, int32_t on);
|
||||||
int32_t taosSetSockOpt(TdSocketPtr pSocket, int32_t level, int32_t optname, void *optval, int32_t optlen);
|
int32_t taosSetSockOpt(TdSocketPtr pSocket, int32_t level, int32_t optname, void *optval, int32_t optlen);
|
||||||
|
int32_t taosSetSockOpt2(int32_t fd);
|
||||||
int32_t taosGetSockOpt(TdSocketPtr pSocket, int32_t level, int32_t optname, void *optval, int32_t *optlen);
|
int32_t taosGetSockOpt(TdSocketPtr pSocket, int32_t level, int32_t optname, void *optval, int32_t *optlen);
|
||||||
int32_t taosWriteMsg(TdSocketPtr pSocket, void *ptr, int32_t nbytes);
|
int32_t taosWriteMsg(TdSocketPtr pSocket, void *ptr, int32_t nbytes);
|
||||||
int32_t taosReadMsg(TdSocketPtr pSocket, void *ptr, int32_t nbytes);
|
int32_t taosReadMsg(TdSocketPtr pSocket, void *ptr, int32_t nbytes);
|
||||||
|
@ -160,7 +161,7 @@ TdSocketPtr taosAcceptTcpConnectSocket(TdSocketServerPtr pServerSocket, st
|
||||||
int32_t taosGetSocketName(TdSocketPtr pSocket, struct sockaddr *destAddr, int *addrLen);
|
int32_t taosGetSocketName(TdSocketPtr pSocket, struct sockaddr *destAddr, int *addrLen);
|
||||||
|
|
||||||
int32_t taosBlockSIGPIPE();
|
int32_t taosBlockSIGPIPE();
|
||||||
int32_t taosGetIpv4FromFqdn(const char *fqdn, uint32_t* ip);
|
int32_t taosGetIpv4FromFqdn(const char *fqdn, uint32_t *ip);
|
||||||
int32_t taosGetFqdn(char *);
|
int32_t taosGetFqdn(char *);
|
||||||
void tinet_ntoa(char *ipstr, uint32_t ip);
|
void tinet_ntoa(char *ipstr, uint32_t ip);
|
||||||
uint32_t ip2uint(const char *const ip_addr);
|
uint32_t ip2uint(const char *const ip_addr);
|
||||||
|
@ -171,6 +172,7 @@ const char *taosInetNtoa(struct in_addr ipInt, char *dstStr, int32_t len);
|
||||||
uint64_t taosHton64(uint64_t val);
|
uint64_t taosHton64(uint64_t val);
|
||||||
uint64_t taosNtoh64(uint64_t val);
|
uint64_t taosNtoh64(uint64_t val);
|
||||||
|
|
||||||
|
int32_t taosSetSockOpt2(int32_t fd);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -55,7 +55,7 @@ typedef struct TdSocket {
|
||||||
#endif
|
#endif
|
||||||
int refId;
|
int refId;
|
||||||
SocketFd fd;
|
SocketFd fd;
|
||||||
} *TdSocketPtr, TdSocket;
|
} * TdSocketPtr, TdSocket;
|
||||||
|
|
||||||
typedef struct TdSocketServer {
|
typedef struct TdSocketServer {
|
||||||
#if SOCKET_WITH_LOCK
|
#if SOCKET_WITH_LOCK
|
||||||
|
@ -63,7 +63,7 @@ typedef struct TdSocketServer {
|
||||||
#endif
|
#endif
|
||||||
int refId;
|
int refId;
|
||||||
SocketFd fd;
|
SocketFd fd;
|
||||||
} *TdSocketServerPtr, TdSocketServer;
|
} * TdSocketServerPtr, TdSocketServer;
|
||||||
|
|
||||||
typedef struct TdEpoll {
|
typedef struct TdEpoll {
|
||||||
#if SOCKET_WITH_LOCK
|
#if SOCKET_WITH_LOCK
|
||||||
|
@ -71,7 +71,7 @@ typedef struct TdEpoll {
|
||||||
#endif
|
#endif
|
||||||
int refId;
|
int refId;
|
||||||
EpollFd fd;
|
EpollFd fd;
|
||||||
} *TdEpollPtr, TdEpoll;
|
} * TdEpollPtr, TdEpoll;
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
int32_t taosSendto(TdSocketPtr pSocket, void *buf, int len, unsigned int flags, const struct sockaddr *dest_addr,
|
int32_t taosSendto(TdSocketPtr pSocket, void *buf, int len, unsigned int flags, const struct sockaddr *dest_addr,
|
||||||
|
@ -145,7 +145,7 @@ int32_t taosCloseSocket(TdSocketPtr *ppSocket) {
|
||||||
code = taosCloseSocketNoCheck1((*ppSocket)->fd);
|
code = taosCloseSocketNoCheck1((*ppSocket)->fd);
|
||||||
(*ppSocket)->fd = -1;
|
(*ppSocket)->fd = -1;
|
||||||
taosMemoryFree(*ppSocket);
|
taosMemoryFree(*ppSocket);
|
||||||
|
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -274,7 +274,7 @@ int32_t taosSetSockOpt(TdSocketPtr pSocket, int32_t level, int32_t optname, void
|
||||||
terrno = TSDB_CODE_INVALID_PARA;
|
terrno = TSDB_CODE_INVALID_PARA;
|
||||||
return terrno;
|
return terrno;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WINDOWS
|
#ifdef WINDOWS
|
||||||
#ifdef TCP_KEEPCNT
|
#ifdef TCP_KEEPCNT
|
||||||
if (level == SOL_SOCKET && optname == TCP_KEEPCNT) {
|
if (level == SOL_SOCKET && optname == TCP_KEEPCNT) {
|
||||||
|
@ -339,7 +339,7 @@ uint32_t taosInetAddr(const char *ipAddr) {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
const char *taosInetNtoa(struct in_addr ipInt, char *dstStr, int32_t len) {
|
const char *taosInetNtoa(struct in_addr ipInt, char *dstStr, int32_t len) {
|
||||||
const char* r = inet_ntop(AF_INET, &ipInt, dstStr, len);
|
const char *r = inet_ntop(AF_INET, &ipInt, dstStr, len);
|
||||||
if (NULL == r) {
|
if (NULL == r) {
|
||||||
terrno = TAOS_SYSTEM_ERROR(errno);
|
terrno = TAOS_SYSTEM_ERROR(errno);
|
||||||
}
|
}
|
||||||
|
@ -787,16 +787,16 @@ bool taosValidIpAndPort(uint32_t ip, uint16_t port) {
|
||||||
TAOS_SKIP_ERROR(taosCloseSocket(&pSocket));
|
TAOS_SKIP_ERROR(taosCloseSocket(&pSocket));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* bind socket to server address */
|
/* bind socket to server address */
|
||||||
if (-1 == bind(pSocket->fd, (struct sockaddr *)&serverAdd, sizeof(serverAdd))) {
|
if (-1 == bind(pSocket->fd, (struct sockaddr *)&serverAdd, sizeof(serverAdd))) {
|
||||||
terrno = TAOS_SYSTEM_ERROR(errno);
|
terrno = TAOS_SYSTEM_ERROR(errno);
|
||||||
TAOS_SKIP_ERROR(taosCloseSocket(&pSocket));
|
TAOS_SKIP_ERROR(taosCloseSocket(&pSocket));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
TAOS_SKIP_ERROR(taosCloseSocket(&pSocket));
|
TAOS_SKIP_ERROR(taosCloseSocket(&pSocket));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1039,7 +1039,7 @@ int32_t taosGetFqdn(char *fqdn) {
|
||||||
// hints.ai_family = AF_INET;
|
// hints.ai_family = AF_INET;
|
||||||
strcpy(fqdn, hostname);
|
strcpy(fqdn, hostname);
|
||||||
strcpy(fqdn + strlen(hostname), ".local");
|
strcpy(fqdn + strlen(hostname), ".local");
|
||||||
#else // linux
|
#else // linux
|
||||||
|
|
||||||
#endif // linux
|
#endif // linux
|
||||||
|
|
||||||
|
@ -1058,7 +1058,7 @@ int32_t taosGetFqdn(char *fqdn) {
|
||||||
terrno = TAOS_SYSTEM_ERROR(errno);
|
terrno = TAOS_SYSTEM_ERROR(errno);
|
||||||
return terrno;
|
return terrno;
|
||||||
}
|
}
|
||||||
|
|
||||||
terrno = TAOS_SYSTEM_ERROR(ret);
|
terrno = TAOS_SYSTEM_ERROR(ret);
|
||||||
return terrno;
|
return terrno;
|
||||||
}
|
}
|
||||||
|
@ -1092,14 +1092,14 @@ void tinet_ntoa(char *ipstr, uint32_t ip) {
|
||||||
(void)sprintf(ipstr, "%d.%d.%d.%d", ip & 0xFF, (ip >> 8) & 0xFF, (ip >> 16) & 0xFF, ip >> 24);
|
(void)sprintf(ipstr, "%d.%d.%d.%d", ip & 0xFF, (ip >> 8) & 0xFF, (ip >> 16) & 0xFF, ip >> 24);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t taosIgnSIGPIPE() {
|
int32_t taosIgnSIGPIPE() {
|
||||||
sighandler_t h = signal(SIGPIPE, SIG_IGN);
|
sighandler_t h = signal(SIGPIPE, SIG_IGN);
|
||||||
if (SIG_ERR == h) {
|
if (SIG_ERR == h) {
|
||||||
terrno = TAOS_SYSTEM_ERROR(errno);
|
terrno = TAOS_SYSTEM_ERROR(errno);
|
||||||
return terrno;
|
return terrno;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -1142,7 +1142,7 @@ int32_t taosCreateSocketWithTimeout(uint32_t timeout) {
|
||||||
terrno = TAOS_SYSTEM_ERROR(errno);
|
terrno = TAOS_SYSTEM_ERROR(errno);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(WINDOWS)
|
#if defined(WINDOWS)
|
||||||
if (0 != setsockopt(fd, IPPROTO_TCP, TCP_MAXRT, (char *)&timeout, sizeof(timeout))) {
|
if (0 != setsockopt(fd, IPPROTO_TCP, TCP_MAXRT, (char *)&timeout, sizeof(timeout))) {
|
||||||
taosCloseSocketNoCheck1(fd);
|
taosCloseSocketNoCheck1(fd);
|
||||||
|
@ -1212,3 +1212,18 @@ uint64_t taosNtoh64(uint64_t val) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32_t taosSetSockOpt2(int32_t fd) {
|
||||||
|
#if defined(WINDOWS) || defined(DARWIN)
|
||||||
|
return 0;
|
||||||
|
#else
|
||||||
|
int32_t ret = setsockopt(fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){1}, sizeof(int));
|
||||||
|
if (ret < 0) {
|
||||||
|
terrno = TAOS_SYSTEM_ERROR(errno);
|
||||||
|
return terrno;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue