* Block until a predicate is met.
*
* Precondition: Must have a channel.
+ * Precondition: Must hold channel lock (unchecked).
*/
+QUIC_NEEDS_LOCK
static int block_until_pred(QUIC_CONNECTION *qc,
int (*pred)(void *arg), void *pred_arg,
uint32_t flags)
}
/* SSL_free */
+QUIC_TODO_LOCK
void ossl_quic_free(SSL *s)
{
QUIC_CONNECTION *qc = QUIC_CONNECTION_FROM_SSL(s);
}
/* SSL_tick; ticks the reactor. */
+QUIC_TODO_LOCK
int ossl_quic_tick(QUIC_CONNECTION *qc)
{
if (qc->ch == NULL)
* the object should be ticked immediately and tv->tv_sec is set to -1 if no
* timeout is currently active.
*/
+QUIC_TODO_LOCK
int ossl_quic_get_tick_timeout(QUIC_CONNECTION *qc, struct timeval *tv)
{
OSSL_TIME deadline = ossl_time_infinite();
}
/* SSL_net_read_desired */
+QUIC_TODO_LOCK
int ossl_quic_get_net_read_desired(QUIC_CONNECTION *qc)
{
if (qc->ch == NULL)
}
/* SSL_net_write_desired */
+QUIC_TODO_LOCK
int ossl_quic_get_net_write_desired(QUIC_CONNECTION *qc)
{
if (qc->ch == NULL)
return qc->ch == NULL || ossl_quic_channel_is_terminated(qc->ch);
}
+QUIC_TODO_LOCK
int ossl_quic_conn_shutdown(QUIC_CONNECTION *qc, uint64_t flags,
const SSL_SHUTDOWN_EX_ARGS *args,
size_t args_len)
return 1;
}
+QUIC_TODO_LOCK
static int ensure_channel(QUIC_CONNECTION *qc)
{
QUIC_CHANNEL_ARGS args = {0};
* via calls made to us from the application prior to starting a handshake
* attempt.
*/
+QUIC_TODO_LOCK
static int ensure_channel_and_start(QUIC_CONNECTION *qc)
{
if (!ensure_channel(qc))
return 1;
}
+QUIC_TODO_LOCK
int ossl_quic_do_handshake(QUIC_CONNECTION *qc)
{
int ret;
return 1;
}
+QUIC_TODO_LOCK
int ossl_quic_write(SSL *s, const void *buf, size_t len, size_t *written)
{
QUIC_CONNECTION *qc = QUIC_CONNECTION_FROM_SSL(s);
return 0; /* did not read anything, keep trying */
}
+QUIC_TODO_LOCK
static int quic_read(SSL *s, void *buf, size_t len, size_t *bytes_read, int peek)
{
int res;
* SSL_pending
* -----------
*/
+QUIC_TODO_LOCK
static size_t ossl_quic_pending_int(const QUIC_CONNECTION *qc)
{
size_t avail = 0;
* SSL_stream_conclude
* -------------------
*/
+QUIC_TODO_LOCK
int ossl_quic_conn_stream_conclude(QUIC_CONNECTION *qc)
{
QUIC_STREAM *qs = qc->stream0;