| 529 | } |
| 530 | |
| 531 | void updateSSLEvent(tls_connection *conn) { |
| 532 | int mask = aeGetFileEvents(server.el, conn->c.fd); |
| 533 | int need_read = conn->c.read_handler || (conn->flags & TLS_CONN_FLAG_WRITE_WANT_READ); |
| 534 | int need_write = conn->c.write_handler || (conn->flags & TLS_CONN_FLAG_READ_WANT_WRITE); |
| 535 | |
| 536 | if (need_read && !(mask & AE_READABLE)) |
| 537 | aeCreateFileEvent(server.el, conn->c.fd, AE_READABLE, tlsEventHandler, conn); |
| 538 | if (!need_read && (mask & AE_READABLE)) |
| 539 | aeDeleteFileEvent(server.el, conn->c.fd, AE_READABLE); |
| 540 | |
| 541 | if (need_write && !(mask & AE_WRITABLE)) |
| 542 | aeCreateFileEvent(server.el, conn->c.fd, AE_WRITABLE, tlsEventHandler, conn); |
| 543 | if (!need_write && (mask & AE_WRITABLE)) |
| 544 | aeDeleteFileEvent(server.el, conn->c.fd, AE_WRITABLE); |
| 545 | } |
| 546 | |
| 547 | static void tlsHandleEvent(tls_connection *conn, int mask) { |
| 548 | int ret, conn_error; |
no test coverage detected