github.com/ooni/psiphon/tunnel-core@v0.0.0-20230105123940-fe12a24c96ee/oovendor/quic-go/internal/wire/ping_frame.go (about) 1 package wire 2 3 import ( 4 "bytes" 5 6 "github.com/ooni/psiphon/tunnel-core/oovendor/quic-go/internal/protocol" 7 ) 8 9 // A PingFrame is a PING frame 10 type PingFrame struct{} 11 12 func parsePingFrame(r *bytes.Reader, _ protocol.VersionNumber) (*PingFrame, error) { 13 if _, err := r.ReadByte(); err != nil { 14 return nil, err 15 } 16 return &PingFrame{}, nil 17 } 18 19 func (f *PingFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error { 20 b.WriteByte(0x1) 21 return nil 22 } 23 24 // Length of a written frame 25 func (f *PingFrame) Length(version protocol.VersionNumber) protocol.ByteCount { 26 return 1 27 }