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

Side by Side Diff: mojo/public/go/bindings/message.go

Issue 948343008: go/bindings: update code to pass structs versions tests (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: rebased Created 5 years, 10 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
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package bindings 5 package bindings
6 6
7 import ( 7 import (
8 "fmt" 8 "fmt"
9 9
10 "mojo/public/go/system" 10 "mojo/public/go/system"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 } 61 }
62 if h.RequestId != 0 { 62 if h.RequestId != 0 {
63 if err := encoder.WriteUint64(h.RequestId); err != nil { 63 if err := encoder.WriteUint64(h.RequestId); err != nil {
64 return err 64 return err
65 } 65 }
66 } 66 }
67 return encoder.Finish() 67 return encoder.Finish()
68 } 68 }
69 69
70 func (h *MessageHeader) Decode(decoder *Decoder) error { 70 func (h *MessageHeader) Decode(decoder *Decoder) error {
71 » numFields, err := decoder.StartStruct() 71 » header, err := decoder.StartStruct()
72 if err != nil { 72 if err != nil {
73 return err 73 return err
74 } 74 }
75 numFields := header.ElementsOrVersion
75 if numFields < 2 || numFields > 3 { 76 if numFields < 2 || numFields > 3 {
76 return fmt.Errorf("Invalid message header: it should have 2 or 3 fileds, but has %d", numFields) 77 return fmt.Errorf("Invalid message header: it should have 2 or 3 fileds, but has %d", numFields)
77 } 78 }
78 if h.Type, err = decoder.ReadUint32(); err != nil { 79 if h.Type, err = decoder.ReadUint32(); err != nil {
79 return err 80 return err
80 } 81 }
81 if h.Flags, err = decoder.ReadUint32(); err != nil { 82 if h.Flags, err = decoder.ReadUint32(); err != nil {
82 return err 83 return err
83 } 84 }
84 if numFields == 3 { 85 if numFields == 3 {
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 // ParseMessage parses message header from byte buffer with attached handles 156 // ParseMessage parses message header from byte buffer with attached handles
156 // and returnes parsed message. 157 // and returnes parsed message.
157 func ParseMessage(bytes []byte, handles []system.UntypedHandle) (*Message, error ) { 158 func ParseMessage(bytes []byte, handles []system.UntypedHandle) (*Message, error ) {
158 decoder := NewDecoder(bytes, []system.UntypedHandle{}) 159 decoder := NewDecoder(bytes, []system.UntypedHandle{})
159 var header MessageHeader 160 var header MessageHeader
160 if err := header.Decode(decoder); err != nil { 161 if err := header.Decode(decoder); err != nil {
161 return nil, err 162 return nil, err
162 } 163 }
163 return newMessage(header, bytes, handles), nil 164 return newMessage(header, bytes, handles), nil
164 } 165 }
OLDNEW
« no previous file with comments | « mojo/public/go/bindings/decoder.go ('k') | mojo/public/tools/bindings/generators/go_templates/source.tmpl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698