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  }