Lines Matching full:obj
14 static int obj_update_cache(QUIC_OBJ *obj);
16 int ossl_quic_obj_init(QUIC_OBJ *obj, in ossl_quic_obj_init() argument
26 if (!ossl_assert(obj != NULL && !obj->init_done && SSL_TYPE_IS_QUIC(type) in ossl_quic_obj_init()
34 if (!ossl_ssl_init(&obj->ssl, ctx, ctx->method, type)) in ossl_quic_obj_init()
37 obj->domain_flags = ctx->domain_flags; in ossl_quic_obj_init()
38 obj->parent_obj = (QUIC_OBJ *)parent_obj; in ossl_quic_obj_init()
39 obj->is_event_leader = is_event_leader; in ossl_quic_obj_init()
40 obj->is_port_leader = is_port_leader; in ossl_quic_obj_init()
41 obj->engine = engine; in ossl_quic_obj_init()
42 obj->port = port; in ossl_quic_obj_init()
43 obj->req_blocking_mode = QUIC_BLOCKING_MODE_INHERIT; in ossl_quic_obj_init()
44 if (!obj_update_cache(obj)) in ossl_quic_obj_init()
47 obj->init_done = 1; in ossl_quic_obj_init()
51 obj->is_event_leader = 0; in ossl_quic_obj_init()
52 obj->is_port_leader = 0; in ossl_quic_obj_init()
56 static int obj_update_cache(QUIC_OBJ *obj) in obj_update_cache() argument
60 for (p = obj; p != NULL && !p->is_event_leader; in obj_update_cache()
62 if (!ossl_assert(p == obj || p->init_done)) in obj_update_cache()
72 obj->cached_event_leader = p; in obj_update_cache()
73 obj->engine = p->engine; in obj_update_cache()
75 for (p = obj; p != NULL && !p->is_port_leader; in obj_update_cache()
78 obj->cached_port_leader = p; in obj_update_cache()
79 obj->port = (p != NULL) ? p->port : NULL; in obj_update_cache()
83 SSL_CONNECTION *ossl_quic_obj_get0_handshake_layer(QUIC_OBJ *obj) in ossl_quic_obj_get0_handshake_layer() argument
85 assert(obj != NULL && obj->init_done); in ossl_quic_obj_get0_handshake_layer()
87 if (obj->ssl.type != SSL_TYPE_QUIC_CONNECTION) in ossl_quic_obj_get0_handshake_layer()
90 return SSL_CONNECTION_FROM_SSL_ONLY(((QUIC_CONNECTION *)obj)->tls); in ossl_quic_obj_get0_handshake_layer()
94 int ossl_quic_obj_can_support_blocking(const QUIC_OBJ *obj) in ossl_quic_obj_can_support_blocking() argument
98 assert(obj != NULL); in ossl_quic_obj_can_support_blocking()
99 rtor = ossl_quic_obj_get0_reactor(obj); in ossl_quic_obj_can_support_blocking()
101 if ((obj->domain_flags in ossl_quic_obj_can_support_blocking()
109 int ossl_quic_obj_desires_blocking(const QUIC_OBJ *obj) in ossl_quic_obj_desires_blocking() argument
113 assert(obj != NULL); in ossl_quic_obj_desires_blocking()
114 for (; (req_blocking_mode = obj->req_blocking_mode) == QUIC_BLOCKING_MODE_INHERIT in ossl_quic_obj_desires_blocking()
115 && obj->parent_obj != NULL; obj = obj->parent_obj); in ossl_quic_obj_desires_blocking()
120 int ossl_quic_obj_blocking(const QUIC_OBJ *obj) in ossl_quic_obj_blocking() argument
122 assert(obj != NULL); in ossl_quic_obj_blocking()
124 if (!ossl_quic_obj_desires_blocking(obj)) in ossl_quic_obj_blocking()
127 ossl_quic_engine_update_poll_descriptors(ossl_quic_obj_get0_engine(obj), in ossl_quic_obj_blocking()
129 return ossl_quic_obj_can_support_blocking(obj); in ossl_quic_obj_blocking()
132 void ossl_quic_obj_set_blocking_mode(QUIC_OBJ *obj, unsigned int mode) in ossl_quic_obj_set_blocking_mode() argument
134 assert(obj != NULL); in ossl_quic_obj_set_blocking_mode()
136 obj->req_blocking_mode = mode; in ossl_quic_obj_set_blocking_mode()