mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
QUIC TSERVER: Allow STOP_SENDING/RESET_STREAM to be queried
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20765)
This commit is contained in:
parent
2289401685
commit
f0e22d1be8
@ -129,6 +129,22 @@ int ossl_quic_tserver_stream_new(QUIC_TSERVER *srv,
|
||||
|
||||
BIO *ossl_quic_tserver_get0_rbio(QUIC_TSERVER *srv);
|
||||
|
||||
/*
|
||||
* Returns 1 if the peer has sent a STOP_SENDING frame for a stream.
|
||||
* app_error_code is written if this returns 1.
|
||||
*/
|
||||
int ossl_quic_tserver_stream_has_peer_stop_sending(QUIC_TSERVER *srv,
|
||||
uint64_t stream_id,
|
||||
uint64_t *app_error_code);
|
||||
|
||||
/*
|
||||
* Returns 1 if the peer has sent a RESET_STREAM frame for a stream.
|
||||
* app_error_code is written if this returns 1.
|
||||
*/
|
||||
int ossl_quic_tserver_stream_has_peer_reset_stream(QUIC_TSERVER *srv,
|
||||
uint64_t stream_id,
|
||||
uint64_t *app_error_code);
|
||||
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
@ -363,3 +363,37 @@ BIO *ossl_quic_tserver_get0_rbio(QUIC_TSERVER *srv)
|
||||
{
|
||||
return srv->args.net_rbio;
|
||||
}
|
||||
|
||||
int ossl_quic_tserver_stream_has_peer_stop_sending(QUIC_TSERVER *srv,
|
||||
uint64_t stream_id,
|
||||
uint64_t *app_error_code)
|
||||
{
|
||||
QUIC_STREAM *qs;
|
||||
|
||||
qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch),
|
||||
stream_id);
|
||||
if (qs == NULL)
|
||||
return 0;
|
||||
|
||||
if (qs->peer_stop_sending && app_error_code != NULL)
|
||||
*app_error_code = qs->peer_stop_sending_aec;
|
||||
|
||||
return qs->peer_stop_sending;
|
||||
}
|
||||
|
||||
int ossl_quic_tserver_stream_has_peer_reset_stream(QUIC_TSERVER *srv,
|
||||
uint64_t stream_id,
|
||||
uint64_t *app_error_code)
|
||||
{
|
||||
QUIC_STREAM *qs;
|
||||
|
||||
qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch),
|
||||
stream_id);
|
||||
if (qs == NULL)
|
||||
return 0;
|
||||
|
||||
if (qs->peer_reset_stream && app_error_code != NULL)
|
||||
*app_error_code = qs->peer_reset_stream_aec;
|
||||
|
||||
return qs->peer_reset_stream;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user