Index: mojo/public/rust/src/bindings/message.rs |
diff --git a/mojo/public/rust/src/bindings/message.rs b/mojo/public/rust/src/bindings/message.rs |
deleted file mode 100644 |
index d9cc4acdbedaeac85cc70cd8b4086a11e495bb50..0000000000000000000000000000000000000000 |
--- a/mojo/public/rust/src/bindings/message.rs |
+++ /dev/null |
@@ -1,110 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-use bindings::decoding::{Decoder, ValidationError}; |
-use bindings::encoding; |
-use bindings::encoding::{Context, DATA_HEADER_SIZE, DataHeaderValue, Encoder}; |
-use bindings::mojom::{MojomEncodable, MojomPointer, MojomStruct}; |
- |
-/// A flag for the message header indicating that no flag has been set. |
-pub const MESSAGE_HEADER_NO_FLAG: u32 = 0; |
- |
-/// A flag for the message header indicating that this message expects |
-/// a response. |
-pub const MESSAGE_HEADER_EXPECT_RESPONSE: u32 = 1; |
- |
-/// A flag for the message header indicating that this message is |
-/// a response. |
-pub const MESSAGE_HEADER_IS_RESPONSE: u32 = 2; |
- |
-const MESSAGE_HEADER_VERSIONS: [(u32, u32); 2] = [(0, 16), (1, 24)]; |
- |
-/// A message header object implemented as a Mojom struct. |
-pub struct MessageHeader { |
- pub version: u32, |
- pub name: u32, |
- pub flags: u32, |
- pub request_id: u64, |
-} |
- |
-impl MessageHeader { |
- /// Create a new MessageHeader. |
- pub fn new(version: u32, name: u32, flags: u32) -> MessageHeader { |
- MessageHeader { |
- version: version, |
- name: name, |
- flags: flags, |
- request_id: 0, |
- } |
- } |
-} |
- |
-impl MojomPointer for MessageHeader { |
- fn header_data(&self) -> DataHeaderValue { |
- DataHeaderValue::Version(self.version) |
- } |
- |
- /// Get the serialized size. |
- /// |
- /// This value differs based on whether or not |
- /// a request_id is necessary. |
- fn serialized_size(&self, _context: &Context) -> usize { |
- let mut size = DATA_HEADER_SIZE + 8; |
- if self.flags != MESSAGE_HEADER_NO_FLAG { |
- size += 8; |
- } |
- encoding::align_default(size) |
- } |
- |
- fn encode_value(self, encoder: &mut Encoder, context: Context) { |
- MojomEncodable::encode(self.name, encoder, context.clone()); |
- MojomEncodable::encode(self.flags, encoder, context.clone()); |
- if self.version > 0 { |
- MojomEncodable::encode(self.request_id, encoder, context.clone()); |
- } |
- } |
- |
- fn decode_value(decoder: &mut Decoder, context: Context) -> Result<Self, ValidationError> { |
- let mut state = decoder.get_mut(&context); |
- let version = match state.decode_struct_header(&MESSAGE_HEADER_VERSIONS) { |
- Ok(header) => header.data(), |
- Err(err) => return Err(err), |
- }; |
- let name = state.decode::<u32>(); |
- let flags = state.decode::<u32>(); |
- if flags > MESSAGE_HEADER_IS_RESPONSE { |
- return Err(ValidationError::MessageHeaderInvalidFlags); |
- } |
- if version == 0 { |
- if flags == MESSAGE_HEADER_IS_RESPONSE || flags == MESSAGE_HEADER_EXPECT_RESPONSE { |
- return Err(ValidationError::MessageHeaderMissingRequestId); |
- } |
- Ok(MessageHeader { |
- version: version, |
- name: name, |
- flags: flags, |
- request_id: 0, |
- }) |
- } else if version == 1 { |
- Ok(MessageHeader { |
- version: version, |
- name: name, |
- flags: flags, |
- request_id: state.decode::<u64>(), |
- }) |
- } else { |
- return Err(ValidationError::UnexpectedStructHeader); |
- } |
- } |
-} |
- |
-impl MojomEncodable for MessageHeader { |
- impl_encodable_for_pointer!(); |
- fn compute_size(&self, context: Context) -> usize { |
- self.serialized_size(&context) |
- } |
-} |
- |
-impl MojomStruct for MessageHeader {} |
- |