open a control stream and send a SETTINGS frame as an H3 server

This commit is contained in:
Marten Seemann
2019-05-21 15:28:38 +01:00
parent 9eb5777bbb
commit 1bf489b7af

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 {