MCPcopy Create free account
hub / github.com/grpc/grpc-java / getH2HeadersSize

Method getH2HeadersSize

netty/src/main/java/io/grpc/netty/Utils.java:201–222  ·  view source on GitHub ↗
(Http2Headers http2Headers)

Source from the content-addressed store, hash-verified

199 }
200
201 public static int getH2HeadersSize(Http2Headers http2Headers) {
202 if (http2Headers instanceof GrpcHttp2InboundHeaders) {
203 GrpcHttp2InboundHeaders h = (GrpcHttp2InboundHeaders) http2Headers;
204 int size = 0;
205 for (int i = 0; i < h.numHeaders(); i++) {
206 size += h.namesAndValues()[2 * i].length;
207 size +=
208 maybeAddBinaryHeaderOverhead(h.namesAndValues()[2 * i], h.namesAndValues()[2 * i + 1]);
209 size += HEADER_ENTRY_OVERHEAD;
210 }
211 return size;
212 }
213
214 // the binary header is not decoded yet, no need to add overhead.
215 int size = 0;
216 for (Map.Entry<CharSequence, CharSequence> entry : http2Headers) {
217 size += entry.getKey().length();
218 size += entry.getValue().length();
219 size += HEADER_ENTRY_OVERHEAD;
220 }
221 return size;
222 }
223
224 private static int maybeAddBinaryHeaderOverhead(byte[] name, byte[] value) {
225 if (endsWith(name, binaryHeaderSuffixBytes)) {

Callers 2

onHeadersReadMethod · 0.95
onHeadersReadMethod · 0.95

Calls 5

numHeadersMethod · 0.95
namesAndValuesMethod · 0.95
getKeyMethod · 0.45
getValueMethod · 0.45

Tested by

no test coverage detected