TSHttpTxnClientStreamPriorityGet¶
Synopsis¶
#include <ts/ts.h>
-
TSReturnCode TSHttpTxnClientStreamPriorityGet(TSHttpTxn txnp, TSHttpPriority *priority)¶
Description¶
Retrieve the priority information for the HTTP stream associated with the
provided transaction. The resultant priority information is populated in the
priority
output variable. The TSHttpPriority
type is designed to be
agnostic of the various HTTP protocol versions that support HTTP streams. The
user should pass a pointer casted to TSHttpPriority
from a previously
allocated TSHttp2Priority
structure. This design anticipates future support
for HTTP versions that support streams, such as HTTP/3.
The TSHttp2Priority
structure has the following declaration:
typedef struct {
uint8_t priority_type; /** HTTP_PROTOCOL_TYPE_HTTP_2 */
int32_t stream_dependency;
uint8_t weight;
} TSHttp2Priority;
In a call to TSHttpTxnClientStreamPriorityGet
, the dependency and weight
will be populated in the stream_dependency
and weight
members,
respectively. If the stream associated with the given transaction has no
dependency, then the stream_dependency
output parameter will be populated
with -1
and the value of weight
will be meaningless. See RFC 7540
section 5.3 for details concerning HTTP/2 stream priority.
This API returns an error if the provided transaction is not an HTTP/2 transaction.