Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Side by Side Diff: third_party/grpc/tools/http2_interop/unknownframe.go

Issue 1932353002: Initial checkin of gRPC to third_party/ Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 package http2interop
2
3 import (
4 "fmt"
5 "io"
6 )
7
8 type UnknownFrame struct {
9 Header FrameHeader
10 Data []byte
11 }
12
13 func (f *UnknownFrame) GetHeader() *FrameHeader {
14 return &f.Header
15 }
16
17 func (f *UnknownFrame) ParsePayload(r io.Reader) error {
18 raw := make([]byte, f.Header.Length)
19 if _, err := io.ReadFull(r, raw); err != nil {
20 return err
21 }
22 return f.UnmarshalPayload(raw)
23 }
24
25 func (f *UnknownFrame) UnmarshalPayload(raw []byte) error {
26 if f.Header.Length != len(raw) {
27 return fmt.Errorf("Invalid Payload length %d != %d", f.Header.Le ngth, len(raw))
28 }
29
30 f.Data = []byte(string(raw))
31
32 return nil
33 }
34
35 func (f *UnknownFrame) MarshalPayload() ([]byte, error) {
36 return []byte(string(f.Data)), nil
37 }
38
39 func (f *UnknownFrame) MarshalBinary() ([]byte, error) {
40 f.Header.Length = len(f.Data)
41 buf, err := f.Header.MarshalBinary()
42 if err != nil {
43 return nil, err
44 }
45
46 payload, err := f.MarshalPayload()
47 if err != nil {
48 return nil, err
49 }
50
51 buf = append(buf, payload...)
52
53 return buf, nil
54 }
OLDNEW
« no previous file with comments | « third_party/grpc/tools/http2_interop/testsuite.go ('k') | third_party/grpc/tools/jenkins/build_and_run_docker.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698