Merge pull request #1918 from lucas-clemente/http3-server-send-settings

open a control stream and send a SETTINGS frame as an H3 server
This commit is contained in:
Marten Seemann
2019-05-21 17:57:03 +01:00
committed by GitHub

View File

@@ -1,6 +1,7 @@
package http3
import (
"bytes"
"crypto/tls"
"errors"
"fmt"
@@ -125,6 +126,16 @@ func (s *Server) handleConn(sess quic.Session) {
// TODO: accept control streams
decoder := qpack.NewDecoder(nil)
// send a SETTINGS frame
str, err := sess.OpenUniStreamSync()
if err != nil {
s.logger.Debugf("Opening the control stream failed.")
return
}
buf := bytes.NewBuffer([]byte{0})
(&settingsFrame{}).Write(buf)
str.Write(buf.Bytes())
for {
str, err := sess.AcceptStream()
if err != nil {