mirror of
https://github.com/golang/go
synced 2024-11-24 09:40:08 -07:00
net/http: update bundled http2
Updates x/net/http2 to git rev 31df19d6 for changes since Go 1.6. The main change was https://go-review.googlesource.com/19726 (move merging of HEADERS and CONTINUATION into Framer), but there were a few garbage reduction changes too. Change-Id: I882443d20749f8638f637a2835efe92538c95d31 Reviewed-on: https://go-review.googlesource.com/21365 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org>
This commit is contained in:
parent
36feb1a00a
commit
a3537522d6
File diff suppressed because it is too large
Load Diff
2
src/vendor/golang.org/x/net/http2/hpack/encode.go
generated
vendored
2
src/vendor/golang.org/x/net/http2/hpack/encode.go
generated
vendored
@ -144,7 +144,7 @@ func (e *Encoder) SetMaxDynamicTableSizeLimit(v uint32) {
|
||||
|
||||
// shouldIndex reports whether f should be indexed.
|
||||
func (e *Encoder) shouldIndex(f HeaderField) bool {
|
||||
return !f.Sensitive && f.size() <= e.dynTab.maxSize
|
||||
return !f.Sensitive && f.Size() <= e.dynTab.maxSize
|
||||
}
|
||||
|
||||
// appendIndexed appends index i, as encoded in "Indexed Header Field"
|
||||
|
15
src/vendor/golang.org/x/net/http2/hpack/hpack.go
generated
vendored
15
src/vendor/golang.org/x/net/http2/hpack/hpack.go
generated
vendored
@ -41,6 +41,14 @@ type HeaderField struct {
|
||||
Sensitive bool
|
||||
}
|
||||
|
||||
// IsPseudo reports whether the header field is an http2 pseudo header.
|
||||
// That is, it reports whether it starts with a colon.
|
||||
// It is not otherwise guaranteed to be a valid psuedo header field,
|
||||
// though.
|
||||
func (hf HeaderField) IsPseudo() bool {
|
||||
return len(hf.Name) != 0 && hf.Name[0] == ':'
|
||||
}
|
||||
|
||||
func (hf HeaderField) String() string {
|
||||
var suffix string
|
||||
if hf.Sensitive {
|
||||
@ -49,7 +57,8 @@ func (hf HeaderField) String() string {
|
||||
return fmt.Sprintf("header field %q = %q%s", hf.Name, hf.Value, suffix)
|
||||
}
|
||||
|
||||
func (hf *HeaderField) size() uint32 {
|
||||
// Size returns the size of an entry per RFC 7540 section 5.2.
|
||||
func (hf HeaderField) Size() uint32 {
|
||||
// http://http2.github.io/http2-spec/compression.html#rfc.section.4.1
|
||||
// "The size of the dynamic table is the sum of the size of
|
||||
// its entries. The size of an entry is the sum of its name's
|
||||
@ -171,7 +180,7 @@ func (dt *dynamicTable) setMaxSize(v uint32) {
|
||||
|
||||
func (dt *dynamicTable) add(f HeaderField) {
|
||||
dt.ents = append(dt.ents, f)
|
||||
dt.size += f.size()
|
||||
dt.size += f.Size()
|
||||
dt.evict()
|
||||
}
|
||||
|
||||
@ -179,7 +188,7 @@ func (dt *dynamicTable) add(f HeaderField) {
|
||||
func (dt *dynamicTable) evict() {
|
||||
base := dt.ents // keep base pointer of slice
|
||||
for dt.size > dt.maxSize {
|
||||
dt.size -= dt.ents[0].size()
|
||||
dt.size -= dt.ents[0].Size()
|
||||
dt.ents = dt.ents[1:]
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user