summaryrefslogtreecommitdiffstats
path: root/include/internal/quic_stream_map.h
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2024-03-29 14:51:35 +0000
committerTomas Mraz <tomas@openssl.org>2024-04-10 15:50:58 +0200
commitf43f1fadbfc5a45463766527f38310df8e3d28be (patch)
tree5d2c1059eadb316856569369f81478262758f440 /include/internal/quic_stream_map.h
parent1d4174b4130ccbcb7ee3c6dbcff614bd4f19b7a6 (diff)
Change approach to SSL_pending API
Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/24039)
Diffstat (limited to 'include/internal/quic_stream_map.h')
-rw-r--r--include/internal/quic_stream_map.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/include/internal/quic_stream_map.h b/include/internal/quic_stream_map.h
index 30ae1e5f98..8f551f45d6 100644
--- a/include/internal/quic_stream_map.h
+++ b/include/internal/quic_stream_map.h
@@ -504,10 +504,11 @@ static ossl_inline ossl_unused int ossl_quic_stream_recv_get_final_size(const QU
}
/*
- * Determines the number of bytes available still to be read, and whether a FIN
- * has yet to be read.
+ * Determines the number of bytes available still to be read, and (if
+ * include_fin is 1) whether a FIN or reset has yet to be read.
*/
-static ossl_inline ossl_unused int ossl_quic_stream_recv_pending(const QUIC_STREAM *s)
+static ossl_inline ossl_unused int ossl_quic_stream_recv_pending(const QUIC_STREAM *s,
+ int include_fin)
{
size_t avail;
int fin = 0;
@@ -523,13 +524,13 @@ static ossl_inline ossl_unused int ossl_quic_stream_recv_pending(const QUIC_STRE
if (!ossl_quic_rstream_available(s->rstream, &avail, &fin))
avail = 0;
- if (avail == 0 && fin)
+ if (avail == 0 && include_fin && fin)
avail = 1;
return avail;
case QUIC_RSTREAM_STATE_RESET_RECVD:
- return 1;
+ return include_fin;
case QUIC_RSTREAM_STATE_DATA_READ:
case QUIC_RSTREAM_STATE_RESET_READ: