Index: third_party/mojo/src/mojo/public/go/bindings/decoder.go |
diff --git a/third_party/mojo/src/mojo/public/go/bindings/decoder.go b/third_party/mojo/src/mojo/public/go/bindings/decoder.go |
index 3f3cce9bca824f4f4378e12053dbb7809c0699dc..2dccd0ad99230ee81f32ee533d341d189c95a1ba 100644 |
--- a/third_party/mojo/src/mojo/public/go/bindings/decoder.go |
+++ b/third_party/mojo/src/mojo/public/go/bindings/decoder.go |
@@ -185,7 +185,6 @@ func (d *Decoder) ReadUint8() (uint8, error) { |
if err := ensureElementBitSizeAndCapacity(d.state(), 8); err != nil { |
return 0, err |
} |
- d.state().alignOffsetToBytes() |
value := d.buf[d.state().offset] |
d.state().skipBytes(1) |
d.state().elementsProcessed++ |
@@ -203,7 +202,6 @@ func (d *Decoder) ReadUint16() (uint16, error) { |
if err := ensureElementBitSizeAndCapacity(d.state(), 16); err != nil { |
return 0, err |
} |
- d.state().alignOffsetToBytes() |
d.state().offset = align(d.state().offset, 2) |
value := binary.LittleEndian.Uint16(d.buf[d.state().offset:]) |
d.state().skipBytes(2) |
@@ -222,7 +220,6 @@ func (d *Decoder) ReadUint32() (uint32, error) { |
if err := ensureElementBitSizeAndCapacity(d.state(), 32); err != nil { |
return 0, err |
} |
- d.state().alignOffsetToBytes() |
d.state().offset = align(d.state().offset, 4) |
value := binary.LittleEndian.Uint32(d.buf[d.state().offset:]) |
d.state().skipBytes(4) |
@@ -241,7 +238,6 @@ func (d *Decoder) ReadUint64() (uint64, error) { |
if err := ensureElementBitSizeAndCapacity(d.state(), 64); err != nil { |
return 0, err |
} |
- d.state().alignOffsetToBytes() |
d.state().offset = align(d.state().offset, 8) |
value := binary.LittleEndian.Uint64(d.buf[d.state().offset:]) |
d.state().skipBytes(8) |
@@ -304,59 +300,16 @@ func (d *Decoder) ReadPointer() (uint64, error) { |
if newEnd%8 != 0 { |
return 0, fmt.Errorf("incorrect pointer data alignment: %d", newEnd) |
} |
- d.claimData(int(newEnd) - d.end) |
+ d.claimData(d.end - int(newEnd)) |
return pointer, nil |
} |
-// ReadUntypedHandle reads an untyped handle. |
-func (d *Decoder) ReadUntypedHandle() (system.UntypedHandle, error) { |
- handleIndex, err := d.ReadUint32() |
- if err != nil { |
- return nil, err |
- } |
- if handleIndex == ^uint32(0) { |
- return &InvalidHandle{}, nil |
- } |
- return d.claimHandle(int(handleIndex)) |
-} |
- |
-// ReadHandle reads a handle. |
-func (d *Decoder) ReadHandle() (system.Handle, error) { |
- return d.ReadUntypedHandle() |
-} |
- |
// ReadMessagePipeHandle reads a message pipe handle. |
func (d *Decoder) ReadMessagePipeHandle() (system.MessagePipeHandle, error) { |
- if handle, err := d.ReadUntypedHandle(); err != nil { |
- return nil, err |
- } else { |
- return handle.ToMessagePipeHandle(), nil |
- } |
-} |
- |
-// ReadConsumerHandle reads a data pipe consumer handle. |
-func (d *Decoder) ReadConsumerHandle() (system.ConsumerHandle, error) { |
- if handle, err := d.ReadUntypedHandle(); err != nil { |
- return nil, err |
- } else { |
- return handle.ToConsumerHandle(), nil |
- } |
-} |
- |
-// ReadProducerHandle reads a data pipe producer handle. |
-func (d *Decoder) ReadProducerHandle() (system.ProducerHandle, error) { |
- if handle, err := d.ReadUntypedHandle(); err != nil { |
- return nil, err |
- } else { |
- return handle.ToProducerHandle(), nil |
- } |
-} |
- |
-// ReadSharedBufferHandle reads a shared buffer handle. |
-func (d *Decoder) ReadSharedBufferHandle() (system.SharedBufferHandle, error) { |
- if handle, err := d.ReadUntypedHandle(); err != nil { |
+ handleIndex, err := d.ReadUint32() |
+ if err != nil { |
return nil, err |
- } else { |
- return handle.ToSharedBufferHandle(), nil |
} |
+ untypedHandle, err := d.claimHandle(int(handleIndex)) |
+ return untypedHandle.ToMessagePipeHandle(), err |
} |