summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2023-08-09 17:46:32 +0100
committerHugo Landau <hlandau@openssl.org>2023-09-01 10:45:34 +0100
commit0b8b75e242e95db034e8026f462a799c0dafaefc (patch)
tree8919bce4ceecff37a60db6ff9cda31a364fd17a7 /include
parent0818c17007bbda000e9c6329a1104d09cc614517 (diff)
QUIC REACTOR: Move can-poll flags into reactor
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21715)
Diffstat (limited to 'include')
-rw-r--r--include/internal/quic_reactor.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/include/internal/quic_reactor.h b/include/internal/quic_reactor.h
index 6a8ebbe29d..2ca32f17ac 100644
--- a/include/internal/quic_reactor.h
+++ b/include/internal/quic_reactor.h
@@ -94,6 +94,13 @@ typedef struct quic_reactor_st {
*/
unsigned int net_read_desired : 1;
unsigned int net_write_desired : 1;
+
+ /*
+ * Are the read and write poll descriptors we are currently configured with
+ * things we can actually poll?
+ */
+ unsigned int can_poll_r : 1;
+ unsigned int can_poll_w : 1;
} QUIC_REACTOR;
void ossl_quic_reactor_init(QUIC_REACTOR *rtor,
@@ -108,12 +115,16 @@ void ossl_quic_reactor_set_poll_r(QUIC_REACTOR *rtor,
void ossl_quic_reactor_set_poll_w(QUIC_REACTOR *rtor,
const BIO_POLL_DESCRIPTOR *w);
-const BIO_POLL_DESCRIPTOR *ossl_quic_reactor_get_poll_r(QUIC_REACTOR *rtor);
+const BIO_POLL_DESCRIPTOR *ossl_quic_reactor_get_poll_r(const QUIC_REACTOR *rtor);
+const BIO_POLL_DESCRIPTOR *ossl_quic_reactor_get_poll_w(const QUIC_REACTOR *rtor);
-const BIO_POLL_DESCRIPTOR *ossl_quic_reactor_get_poll_w(QUIC_REACTOR *rtor);
+int ossl_quic_reactor_can_poll_r(const QUIC_REACTOR *rtor);
+int ossl_quic_reactor_can_poll_w(const QUIC_REACTOR *rtor);
-int ossl_quic_reactor_net_read_desired(QUIC_REACTOR *rtor);
+int ossl_quic_reactor_can_support_poll_descriptor(const QUIC_REACTOR *rtor,
+ const BIO_POLL_DESCRIPTOR *d);
+int ossl_quic_reactor_net_read_desired(QUIC_REACTOR *rtor);
int ossl_quic_reactor_net_write_desired(QUIC_REACTOR *rtor);
OSSL_TIME ossl_quic_reactor_get_tick_deadline(QUIC_REACTOR *rtor);