summaryrefslogtreecommitdiff
path: root/src/connection.h
diff options
context:
space:
mode:
authorOran Agra <oran@redislabs.com>2019-08-11 16:07:53 +0300
committerYossi Gottlieb <yossigo@gmail.com>2019-10-07 21:06:30 +0300
commit5a477946065bcf05b335ededd6b794e82882ab73 (patch)
tree53dee2990f0d86e042f979322d998c25ade4879d /src/connection.h
parentb087dd1db60ed23d9e59304deb0b1599437f6e23 (diff)
downloadredis-5a477946065bcf05b335ededd6b794e82882ab73.tar.gz
diskless replication rdb transfer uses pipe, and writes to sockets form the parent process.
misc: - handle SSL_has_pending by iterating though these in beforeSleep, and setting timeout of 0 to aeProcessEvents - fix issue with epoll signaling EPOLLHUP and EPOLLERR only to the write handlers. (needed to detect the rdb pipe was closed) - add key-load-delay config for testing - trim connShutdown which is no longer needed - rioFdsetWrite -> rioFdWrite - simplified since there's no longer need to write to multiple FDs - don't detect rdb child exited (don't call wait3) until we detect the pipe is closed - Cleanup bad optimization from rio.c, add another one
Diffstat (limited to 'src/connection.h')
-rw-r--r--src/connection.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/connection.h b/src/connection.h
index e3e844f95..3fdcddebe 100644
--- a/src/connection.h
+++ b/src/connection.h
@@ -55,7 +55,6 @@ typedef struct ConnectionType {
int (*connect)(struct connection *conn, const char *addr, int port, const char *source_addr, ConnectionCallbackFunc connect_handler);
int (*write)(struct connection *conn, const void *data, size_t data_len);
int (*read)(struct connection *conn, void *buf, size_t buf_len);
- int (*shutdown)(struct connection *conn, int how);
void (*close)(struct connection *conn);
int (*accept)(struct connection *conn, ConnectionCallbackFunc accept_handler);
int (*set_write_handler)(struct connection *conn, ConnectionCallbackFunc handler);
@@ -159,10 +158,6 @@ static inline void connClose(connection *conn) {
conn->type->close(conn);
}
-static inline int connShutdown(connection *conn, int how) {
- return conn->type->shutdown(conn, how);
-}
-
/* Returns the last error encountered by the connection, as a string. If no error,
* a NULL is returned.
*/
@@ -208,4 +203,8 @@ int connFormatPeer(connection *conn, char *buf, size_t buf_len);
int connSockName(connection *conn, char *ip, size_t ip_len, int *port);
const char *connGetInfo(connection *conn, char *buf, size_t buf_len);
+/* Helpers for tls special considerations */
+int tlsHasPendingData();
+void tlsProcessPendingData();
+
#endif /* __REDIS_CONNECTION_H */