Lines Matching refs:fh
40 func (fh *FrameHeader) Parse(r io.Reader) error {
45 return fh.UnmarshalBinary(buf)
48 func (fh *FrameHeader) UnmarshalBinary(b []byte) error {
52 *fh = FrameHeader{
62 func (fh *FrameHeader) MarshalBinary() ([]byte, error) {
63 buf := make([]byte, 9, 9+fh.Length)
65 if fh.Length > 0xFFFFFF || fh.Length < 0 {
66 return nil, fmt.Errorf("Invalid frame header length: %d", fh.Length)
68 if fh.StreamID < 0 {
69 return nil, fmt.Errorf("Invalid Stream ID: %v", fh.StreamID)
72 buf[0], buf[1], buf[2] = byte(fh.Length>>16), byte(fh.Length>>8), byte(fh.Length)
73 buf[3] = byte(fh.Type)
74 buf[4] = fh.Flags
76 if fh.Reserved {
79 binary.BigEndian.PutUint32(buf[5:], uint32(fh.StreamID)|res)