mirror of
https://github.com/redis/redis.git
synced 2026-04-21 03:01:35 -04:00
Reorder methods for ConnectionType
Reorder methods for CT_Socket & CT_TLS, also add comments to make the methods clear. Also move the CT_TLS to the end of file, other methods can be static in the next step. Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
This commit is contained in:
@@ -57,21 +57,30 @@ typedef enum {
|
||||
typedef void (*ConnectionCallbackFunc)(struct connection *conn);
|
||||
|
||||
typedef struct ConnectionType {
|
||||
/* connection type */
|
||||
int (*get_type)(struct connection *conn);
|
||||
|
||||
/* ae & accept & listen & error & address handler */
|
||||
void (*ae_handler)(struct aeEventLoop *el, int fd, void *clientData, int mask);
|
||||
|
||||
/* create/close connection */
|
||||
void (*close)(struct connection *conn);
|
||||
|
||||
/* connect & accept */
|
||||
int (*connect)(struct connection *conn, const char *addr, int port, const char *source_addr, ConnectionCallbackFunc connect_handler);
|
||||
int (*blocking_connect)(struct connection *conn, const char *addr, int port, long long timeout);
|
||||
int (*accept)(struct connection *conn, ConnectionCallbackFunc accept_handler);
|
||||
|
||||
/* IO */
|
||||
int (*write)(struct connection *conn, const void *data, size_t data_len);
|
||||
int (*writev)(struct connection *conn, const struct iovec *iov, int iovcnt);
|
||||
int (*read)(struct connection *conn, void *buf, size_t buf_len);
|
||||
void (*close)(struct connection *conn);
|
||||
int (*accept)(struct connection *conn, ConnectionCallbackFunc accept_handler);
|
||||
int (*set_write_handler)(struct connection *conn, ConnectionCallbackFunc handler, int barrier);
|
||||
int (*set_read_handler)(struct connection *conn, ConnectionCallbackFunc handler);
|
||||
const char *(*get_last_error)(struct connection *conn);
|
||||
int (*blocking_connect)(struct connection *conn, const char *addr, int port, long long timeout);
|
||||
ssize_t (*sync_write)(struct connection *conn, char *ptr, ssize_t size, long long timeout);
|
||||
ssize_t (*sync_read)(struct connection *conn, char *ptr, ssize_t size, long long timeout);
|
||||
ssize_t (*sync_readline)(struct connection *conn, char *ptr, ssize_t size, long long timeout);
|
||||
int (*get_type)(struct connection *conn);
|
||||
} ConnectionType;
|
||||
|
||||
struct connection {
|
||||
|
||||
17
src/socket.c
17
src/socket.c
@@ -341,21 +341,30 @@ static int connSocketGetType(connection *conn) {
|
||||
}
|
||||
|
||||
ConnectionType CT_Socket = {
|
||||
/* connection type */
|
||||
.get_type = connSocketGetType,
|
||||
|
||||
/* ae & accept & listen & error & address handler */
|
||||
.ae_handler = connSocketEventHandler,
|
||||
|
||||
/* create/close connection */
|
||||
.close = connSocketClose,
|
||||
|
||||
/* connect & accept */
|
||||
.connect = connSocketConnect,
|
||||
.blocking_connect = connSocketBlockingConnect,
|
||||
.accept = connSocketAccept,
|
||||
|
||||
/* IO */
|
||||
.write = connSocketWrite,
|
||||
.writev = connSocketWritev,
|
||||
.read = connSocketRead,
|
||||
.accept = connSocketAccept,
|
||||
.connect = connSocketConnect,
|
||||
.set_write_handler = connSocketSetWriteHandler,
|
||||
.set_read_handler = connSocketSetReadHandler,
|
||||
.get_last_error = connSocketGetLastError,
|
||||
.blocking_connect = connSocketBlockingConnect,
|
||||
.sync_write = connSocketSyncWrite,
|
||||
.sync_read = connSocketSyncRead,
|
||||
.sync_readline = connSocketSyncReadLine,
|
||||
.get_type = connSocketGetType
|
||||
};
|
||||
|
||||
int connPeerToString(connection *conn, char *ip, size_t ip_len, int *port) {
|
||||
|
||||
45
src/tls.c
45
src/tls.c
@@ -1015,24 +1015,6 @@ static int connTLSGetType(connection *conn_) {
|
||||
return CONN_TYPE_TLS;
|
||||
}
|
||||
|
||||
ConnectionType CT_TLS = {
|
||||
.ae_handler = tlsEventHandler,
|
||||
.accept = connTLSAccept,
|
||||
.connect = connTLSConnect,
|
||||
.blocking_connect = connTLSBlockingConnect,
|
||||
.read = connTLSRead,
|
||||
.write = connTLSWrite,
|
||||
.writev = connTLSWritev,
|
||||
.close = connTLSClose,
|
||||
.set_write_handler = connTLSSetWriteHandler,
|
||||
.set_read_handler = connTLSSetReadHandler,
|
||||
.get_last_error = connTLSGetLastError,
|
||||
.sync_write = connTLSSyncWrite,
|
||||
.sync_read = connTLSSyncRead,
|
||||
.sync_readline = connTLSSyncReadLine,
|
||||
.get_type = connTLSGetType
|
||||
};
|
||||
|
||||
int tlsHasPendingData() {
|
||||
if (!pending_list)
|
||||
return 0;
|
||||
@@ -1076,6 +1058,33 @@ sds connTLSGetPeerCert(connection *conn_) {
|
||||
return cert_pem;
|
||||
}
|
||||
|
||||
ConnectionType CT_TLS = {
|
||||
/* connection type */
|
||||
.get_type = connTLSGetType,
|
||||
|
||||
/* ae & accept & listen & error & address handler */
|
||||
.ae_handler = tlsEventHandler,
|
||||
|
||||
/* create/close connection */
|
||||
.close = connTLSClose,
|
||||
|
||||
/* connect & accept */
|
||||
.connect = connTLSConnect,
|
||||
.blocking_connect = connTLSBlockingConnect,
|
||||
.accept = connTLSAccept,
|
||||
|
||||
/* IO */
|
||||
.read = connTLSRead,
|
||||
.write = connTLSWrite,
|
||||
.writev = connTLSWritev,
|
||||
.set_write_handler = connTLSSetWriteHandler,
|
||||
.set_read_handler = connTLSSetReadHandler,
|
||||
.get_last_error = connTLSGetLastError,
|
||||
.sync_write = connTLSSyncWrite,
|
||||
.sync_read = connTLSSyncRead,
|
||||
.sync_readline = connTLSSyncReadLine,
|
||||
};
|
||||
|
||||
#else /* USE_OPENSSL */
|
||||
|
||||
void tlsInit(void) {
|
||||
|
||||
Reference in New Issue
Block a user