mirror of
https://github.com/openssl/openssl.git
synced 2024-12-15 06:01:37 +08:00
QUIC APL: Implement backpressure on stream creation
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21815)
This commit is contained in:
parent
a2608e4bc4
commit
96fe5e5f96
@ -1563,7 +1563,7 @@ SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH:303:ssl session id has bad length
|
||||
SSL_R_SSL_SESSION_ID_TOO_LONG:408:ssl session id too long
|
||||
SSL_R_SSL_SESSION_VERSION_MISMATCH:210:ssl session version mismatch
|
||||
SSL_R_STILL_IN_INIT:121:still in init
|
||||
SSL_R_STREAM_COUNT_LIMITED:411:stream count limited
|
||||
SSL_R_STREAM_COUNT_LIMITED:395:stream count limited
|
||||
SSL_R_STREAM_FINISHED:365:stream finished
|
||||
SSL_R_STREAM_RECV_ONLY:366:stream recv only
|
||||
SSL_R_STREAM_RESET:375:stream reset
|
||||
|
@ -290,7 +290,7 @@
|
||||
# define SSL_R_SSL_SESSION_ID_TOO_LONG 408
|
||||
# define SSL_R_SSL_SESSION_VERSION_MISMATCH 210
|
||||
# define SSL_R_STILL_IN_INIT 121
|
||||
# define SSL_R_STREAM_COUNT_LIMITED 411
|
||||
# define SSL_R_STREAM_COUNT_LIMITED 395
|
||||
# define SSL_R_STREAM_FINISHED 365
|
||||
# define SSL_R_STREAM_RECV_ONLY 366
|
||||
# define SSL_R_STREAM_RESET 375
|
||||
|
@ -1780,7 +1780,7 @@ static SSL *quic_conn_stream_new(QCTX *ctx, uint64_t flags, int need_lock)
|
||||
* opened.
|
||||
*/
|
||||
if (no_blocking || !qc_blocking_mode(qc)) {
|
||||
QUIC_RAISE_NON_IO_ERROR(ctx, SSL_R_STREAM_COUNT_LIMITED, NULL);
|
||||
QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_STREAM_COUNT_LIMITED, NULL);
|
||||
goto err;
|
||||
}
|
||||
|
||||
@ -1790,10 +1790,10 @@ static SSL *quic_conn_stream_new(QCTX *ctx, uint64_t flags, int need_lock)
|
||||
/* Blocking mode - wait until we can get a stream. */
|
||||
ret = block_until_pred(ctx->qc, quic_new_stream_wait, &args, 0);
|
||||
if (!quic_mutation_allowed(qc, /*req_active=*/1)) {
|
||||
QUIC_RAISE_NON_IO_ERROR(ctx, SSL_R_PROTOCOL_IS_SHUTDOWN, NULL);
|
||||
QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_PROTOCOL_IS_SHUTDOWN, NULL);
|
||||
goto err; /* Shutdown before completion */
|
||||
} else if (ret <= 0) {
|
||||
QUIC_RAISE_NON_IO_ERROR(ctx, ERR_R_INTERNAL_ERROR, NULL);
|
||||
QUIC_RAISE_NON_NORMAL_ERROR(ctx, ERR_R_INTERNAL_ERROR, NULL);
|
||||
goto err; /* Non-protocol error */
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user