diff --git a/src/gausskernel/cbb/communication/libcomm_core/mc_tcp.cpp b/src/gausskernel/cbb/communication/libcomm_core/mc_tcp.cpp index ac2ae21c9..f0c5b7854 100644 --- a/src/gausskernel/cbb/communication/libcomm_core/mc_tcp.cpp +++ b/src/gausskernel/cbb/communication/libcomm_core/mc_tcp.cpp @@ -234,6 +234,19 @@ static void mc_tcp_do_listen(int fd, int backlog) } } + /* +function name: mc_tcp_read_block +description: This function receives data from the other end of TCP in a blocking manner. +arguments: The first argument indicates the specific socket that has been established. + The second argument is a pointer to memory area, we use it to store received data. + The third argument is byte length of the memory area pointed to by the data pointer. + The fourth argument specifies additional operations in addition to the read operation. +return value: If there is no error, it returns the byte length of the successfully read data. If an error + occurs, return - 1. +note: When the data is read successfully, the byte length of the data is greater than 0. +date: 2022/8/10 +contact tel: 18720816902 +*/ int mc_tcp_read_block(int fd, void* data, int size, int flags) { #ifdef LIBCOMM_FAULT_INJECTION_ENABLE @@ -304,6 +317,19 @@ int mc_tcp_read_block(int fd, void* data, int size, int flags) return (size_t)nbytes; } +/* +function name: mc_tcp_read_nonblock +description: This function receives data from the other end of TCP in a non blocking manner. +arguments: The first argument indicates the specific socket that has been established. + The second argument is a pointer to memory area, we use it to store received data. + The third argument is byte length of the memory area pointed to by the data pointer. + The fourth argument specifies additional operations in addition to the read operation. +return value: If the error type is one of the errors represented by EAGAIN, EWOULDBLOCK and EINTR, it returns 0; + other error types return - 1; if there is no error, it returns the byte length of the successfully read data. +note: When the data is read successfully, the byte length of the data is greater than 0. +date: 2022/8/10 +contact tel: 18720816902 +*/ int mc_tcp_read_nonblock(int fd, void* data, int size, int flags) { #ifdef LIBCOMM_FAULT_INJECTION_ENABLE