use crate::array::*;
use crate::dtype::*;
use core::mem;
use core::cmp::Ordering;
extern crate flatbuffers;
use self::flatbuffers::{EndianScalar, Follow};
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
pub const ENUM_MIN_MESSAGE_VERSION: u8 = 0;
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
pub const ENUM_MAX_MESSAGE_VERSION: u8 = 0;
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
#[allow(non_camel_case_types)]
pub const ENUM_VALUES_MESSAGE_VERSION: [MessageVersion; 1] = [
MessageVersion::V0,
];
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
#[repr(transparent)]
pub struct MessageVersion(pub u8);
#[allow(non_upper_case_globals)]
impl MessageVersion {
pub const V0: Self = Self(0);
pub const ENUM_MIN: u8 = 0;
pub const ENUM_MAX: u8 = 0;
pub const ENUM_VALUES: &'static [Self] = &[
Self::V0,
];
pub fn variant_name(self) -> Option<&'static str> {
match self {
Self::V0 => Some("V0"),
_ => None,
}
}
}
impl core::fmt::Debug for MessageVersion {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
if let Some(name) = self.variant_name() {
f.write_str(name)
} else {
f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
}
}
}
impl<'a> flatbuffers::Follow<'a> for MessageVersion {
type Inner = Self;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
let b = unsafe { flatbuffers::read_scalar_at::<u8>(buf, loc) };
Self(b)
}
}
impl flatbuffers::Push for MessageVersion {
type Output = MessageVersion;
#[inline]
unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
unsafe { flatbuffers::emplace_scalar::<u8>(dst, self.0); }
}
}
impl flatbuffers::EndianScalar for MessageVersion {
type Scalar = u8;
#[inline]
fn to_little_endian(self) -> u8 {
self.0.to_le()
}
#[inline]
#[allow(clippy::wrong_self_convention)]
fn from_little_endian(v: u8) -> Self {
let b = u8::from_le(v);
Self(b)
}
}
impl<'a> flatbuffers::Verifiable for MessageVersion {
#[inline]
fn run_verifier(
v: &mut flatbuffers::Verifier, pos: usize
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
use self::flatbuffers::Verifiable;
u8::run_verifier(v, pos)
}
}
impl flatbuffers::SimpleToVerifyInSlice for MessageVersion {}
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
pub const ENUM_MIN_MESSAGE_HEADER: u8 = 0;
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
pub const ENUM_MAX_MESSAGE_HEADER: u8 = 3;
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
#[allow(non_camel_case_types)]
pub const ENUM_VALUES_MESSAGE_HEADER: [MessageHeader; 4] = [
MessageHeader::NONE,
MessageHeader::ArrayMessage,
MessageHeader::BufferMessage,
MessageHeader::DTypeMessage,
];
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
#[repr(transparent)]
pub struct MessageHeader(pub u8);
#[allow(non_upper_case_globals)]
impl MessageHeader {
pub const NONE: Self = Self(0);
pub const ArrayMessage: Self = Self(1);
pub const BufferMessage: Self = Self(2);
pub const DTypeMessage: Self = Self(3);
pub const ENUM_MIN: u8 = 0;
pub const ENUM_MAX: u8 = 3;
pub const ENUM_VALUES: &'static [Self] = &[
Self::NONE,
Self::ArrayMessage,
Self::BufferMessage,
Self::DTypeMessage,
];
pub fn variant_name(self) -> Option<&'static str> {
match self {
Self::NONE => Some("NONE"),
Self::ArrayMessage => Some("ArrayMessage"),
Self::BufferMessage => Some("BufferMessage"),
Self::DTypeMessage => Some("DTypeMessage"),
_ => None,
}
}
}
impl core::fmt::Debug for MessageHeader {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
if let Some(name) = self.variant_name() {
f.write_str(name)
} else {
f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
}
}
}
impl<'a> flatbuffers::Follow<'a> for MessageHeader {
type Inner = Self;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
let b = unsafe { flatbuffers::read_scalar_at::<u8>(buf, loc) };
Self(b)
}
}
impl flatbuffers::Push for MessageHeader {
type Output = MessageHeader;
#[inline]
unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
unsafe { flatbuffers::emplace_scalar::<u8>(dst, self.0); }
}
}
impl flatbuffers::EndianScalar for MessageHeader {
type Scalar = u8;
#[inline]
fn to_little_endian(self) -> u8 {
self.0.to_le()
}
#[inline]
#[allow(clippy::wrong_self_convention)]
fn from_little_endian(v: u8) -> Self {
let b = u8::from_le(v);
Self(b)
}
}
impl<'a> flatbuffers::Verifiable for MessageHeader {
#[inline]
fn run_verifier(
v: &mut flatbuffers::Verifier, pos: usize
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
use self::flatbuffers::Verifiable;
u8::run_verifier(v, pos)
}
}
impl flatbuffers::SimpleToVerifyInSlice for MessageHeader {}
pub struct MessageHeaderUnionTableOffset {}
pub enum ArrayMessageOffset {}
#[derive(Copy, Clone, PartialEq)]
pub struct ArrayMessage<'a> {
pub _tab: flatbuffers::Table<'a>,
}
impl<'a> flatbuffers::Follow<'a> for ArrayMessage<'a> {
type Inner = ArrayMessage<'a>;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
Self { _tab: unsafe { flatbuffers::Table::new(buf, loc) } }
}
}
impl<'a> ArrayMessage<'a> {
pub const VT_ROW_COUNT: flatbuffers::VOffsetT = 4;
pub const VT_ENCODINGS: flatbuffers::VOffsetT = 6;
#[inline]
pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
ArrayMessage { _tab: table }
}
#[allow(unused_mut)]
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
args: &'args ArrayMessageArgs<'args>
) -> flatbuffers::WIPOffset<ArrayMessage<'bldr>> {
let mut builder = ArrayMessageBuilder::new(_fbb);
if let Some(x) = args.encodings { builder.add_encodings(x); }
builder.add_row_count(args.row_count);
builder.finish()
}
#[inline]
pub fn row_count(&self) -> u32 {
unsafe { self._tab.get::<u32>(ArrayMessage::VT_ROW_COUNT, Some(0)).unwrap()}
}
#[inline]
pub fn encodings(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(ArrayMessage::VT_ENCODINGS, None)}
}
}
impl flatbuffers::Verifiable for ArrayMessage<'_> {
#[inline]
fn run_verifier(
v: &mut flatbuffers::Verifier, pos: usize
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
use self::flatbuffers::Verifiable;
v.visit_table(pos)?
.visit_field::<u32>("row_count", Self::VT_ROW_COUNT, false)?
.visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("encodings", Self::VT_ENCODINGS, false)?
.finish();
Ok(())
}
}
pub struct ArrayMessageArgs<'a> {
pub row_count: u32,
pub encodings: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
}
impl<'a> Default for ArrayMessageArgs<'a> {
#[inline]
fn default() -> Self {
ArrayMessageArgs {
row_count: 0,
encodings: None,
}
}
}
pub struct ArrayMessageBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
}
impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> ArrayMessageBuilder<'a, 'b, A> {
#[inline]
pub fn add_row_count(&mut self, row_count: u32) {
self.fbb_.push_slot::<u32>(ArrayMessage::VT_ROW_COUNT, row_count, 0);
}
#[inline]
pub fn add_encodings(&mut self, encodings: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ArrayMessage::VT_ENCODINGS, encodings);
}
#[inline]
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> ArrayMessageBuilder<'a, 'b, A> {
let start = _fbb.start_table();
ArrayMessageBuilder {
fbb_: _fbb,
start_: start,
}
}
#[inline]
pub fn finish(self) -> flatbuffers::WIPOffset<ArrayMessage<'a>> {
let o = self.fbb_.end_table(self.start_);
flatbuffers::WIPOffset::new(o.value())
}
}
impl core::fmt::Debug for ArrayMessage<'_> {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
let mut ds = f.debug_struct("ArrayMessage");
ds.field("row_count", &self.row_count());
ds.field("encodings", &self.encodings());
ds.finish()
}
}
pub enum BufferMessageOffset {}
#[derive(Copy, Clone, PartialEq)]
pub struct BufferMessage<'a> {
pub _tab: flatbuffers::Table<'a>,
}
impl<'a> flatbuffers::Follow<'a> for BufferMessage<'a> {
type Inner = BufferMessage<'a>;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
Self { _tab: unsafe { flatbuffers::Table::new(buf, loc) } }
}
}
impl<'a> BufferMessage<'a> {
pub const VT_ALIGNMENT_EXPONENT: flatbuffers::VOffsetT = 4;
#[inline]
pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
BufferMessage { _tab: table }
}
#[allow(unused_mut)]
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
args: &'args BufferMessageArgs
) -> flatbuffers::WIPOffset<BufferMessage<'bldr>> {
let mut builder = BufferMessageBuilder::new(_fbb);
builder.add_alignment_exponent(args.alignment_exponent);
builder.finish()
}
#[inline]
pub fn alignment_exponent(&self) -> u8 {
unsafe { self._tab.get::<u8>(BufferMessage::VT_ALIGNMENT_EXPONENT, Some(0)).unwrap()}
}
}
impl flatbuffers::Verifiable for BufferMessage<'_> {
#[inline]
fn run_verifier(
v: &mut flatbuffers::Verifier, pos: usize
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
use self::flatbuffers::Verifiable;
v.visit_table(pos)?
.visit_field::<u8>("alignment_exponent", Self::VT_ALIGNMENT_EXPONENT, false)?
.finish();
Ok(())
}
}
pub struct BufferMessageArgs {
pub alignment_exponent: u8,
}
impl<'a> Default for BufferMessageArgs {
#[inline]
fn default() -> Self {
BufferMessageArgs {
alignment_exponent: 0,
}
}
}
pub struct BufferMessageBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
}
impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> BufferMessageBuilder<'a, 'b, A> {
#[inline]
pub fn add_alignment_exponent(&mut self, alignment_exponent: u8) {
self.fbb_.push_slot::<u8>(BufferMessage::VT_ALIGNMENT_EXPONENT, alignment_exponent, 0);
}
#[inline]
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> BufferMessageBuilder<'a, 'b, A> {
let start = _fbb.start_table();
BufferMessageBuilder {
fbb_: _fbb,
start_: start,
}
}
#[inline]
pub fn finish(self) -> flatbuffers::WIPOffset<BufferMessage<'a>> {
let o = self.fbb_.end_table(self.start_);
flatbuffers::WIPOffset::new(o.value())
}
}
impl core::fmt::Debug for BufferMessage<'_> {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
let mut ds = f.debug_struct("BufferMessage");
ds.field("alignment_exponent", &self.alignment_exponent());
ds.finish()
}
}
pub enum DTypeMessageOffset {}
#[derive(Copy, Clone, PartialEq)]
pub struct DTypeMessage<'a> {
pub _tab: flatbuffers::Table<'a>,
}
impl<'a> flatbuffers::Follow<'a> for DTypeMessage<'a> {
type Inner = DTypeMessage<'a>;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
Self { _tab: unsafe { flatbuffers::Table::new(buf, loc) } }
}
}
impl<'a> DTypeMessage<'a> {
#[inline]
pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
DTypeMessage { _tab: table }
}
#[allow(unused_mut)]
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
_args: &'args DTypeMessageArgs
) -> flatbuffers::WIPOffset<DTypeMessage<'bldr>> {
let mut builder = DTypeMessageBuilder::new(_fbb);
builder.finish()
}
}
impl flatbuffers::Verifiable for DTypeMessage<'_> {
#[inline]
fn run_verifier(
v: &mut flatbuffers::Verifier, pos: usize
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
use self::flatbuffers::Verifiable;
v.visit_table(pos)?
.finish();
Ok(())
}
}
pub struct DTypeMessageArgs {
}
impl<'a> Default for DTypeMessageArgs {
#[inline]
fn default() -> Self {
DTypeMessageArgs {
}
}
}
pub struct DTypeMessageBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
}
impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DTypeMessageBuilder<'a, 'b, A> {
#[inline]
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DTypeMessageBuilder<'a, 'b, A> {
let start = _fbb.start_table();
DTypeMessageBuilder {
fbb_: _fbb,
start_: start,
}
}
#[inline]
pub fn finish(self) -> flatbuffers::WIPOffset<DTypeMessage<'a>> {
let o = self.fbb_.end_table(self.start_);
flatbuffers::WIPOffset::new(o.value())
}
}
impl core::fmt::Debug for DTypeMessage<'_> {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
let mut ds = f.debug_struct("DTypeMessage");
ds.finish()
}
}
pub enum MessageOffset {}
#[derive(Copy, Clone, PartialEq)]
pub struct Message<'a> {
pub _tab: flatbuffers::Table<'a>,
}
impl<'a> flatbuffers::Follow<'a> for Message<'a> {
type Inner = Message<'a>;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
Self { _tab: unsafe { flatbuffers::Table::new(buf, loc) } }
}
}
impl<'a> Message<'a> {
pub const VT_VERSION: flatbuffers::VOffsetT = 4;
pub const VT_HEADER_TYPE: flatbuffers::VOffsetT = 6;
pub const VT_HEADER: flatbuffers::VOffsetT = 8;
pub const VT_BODY_SIZE: flatbuffers::VOffsetT = 10;
#[inline]
pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
Message { _tab: table }
}
#[allow(unused_mut)]
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
args: &'args MessageArgs
) -> flatbuffers::WIPOffset<Message<'bldr>> {
let mut builder = MessageBuilder::new(_fbb);
builder.add_body_size(args.body_size);
if let Some(x) = args.header { builder.add_header(x); }
builder.add_header_type(args.header_type);
builder.add_version(args.version);
builder.finish()
}
#[inline]
pub fn version(&self) -> MessageVersion {
unsafe { self._tab.get::<MessageVersion>(Message::VT_VERSION, Some(MessageVersion::V0)).unwrap()}
}
#[inline]
pub fn header_type(&self) -> MessageHeader {
unsafe { self._tab.get::<MessageHeader>(Message::VT_HEADER_TYPE, Some(MessageHeader::NONE)).unwrap()}
}
#[inline]
pub fn header(&self) -> Option<flatbuffers::Table<'a>> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Table<'a>>>(Message::VT_HEADER, None)}
}
#[inline]
pub fn body_size(&self) -> u64 {
unsafe { self._tab.get::<u64>(Message::VT_BODY_SIZE, Some(0)).unwrap()}
}
#[inline]
#[allow(non_snake_case)]
pub fn header_as_array_message(&self) -> Option<ArrayMessage<'a>> {
if self.header_type() == MessageHeader::ArrayMessage {
self.header().map(|t| {
unsafe { ArrayMessage::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn header_as_buffer_message(&self) -> Option<BufferMessage<'a>> {
if self.header_type() == MessageHeader::BufferMessage {
self.header().map(|t| {
unsafe { BufferMessage::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn header_as_dtype_message(&self) -> Option<DTypeMessage<'a>> {
if self.header_type() == MessageHeader::DTypeMessage {
self.header().map(|t| {
unsafe { DTypeMessage::init_from_table(t) }
})
} else {
None
}
}
}
impl flatbuffers::Verifiable for Message<'_> {
#[inline]
fn run_verifier(
v: &mut flatbuffers::Verifier, pos: usize
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
use self::flatbuffers::Verifiable;
v.visit_table(pos)?
.visit_field::<MessageVersion>("version", Self::VT_VERSION, false)?
.visit_union::<MessageHeader, _>("header_type", Self::VT_HEADER_TYPE, "header", Self::VT_HEADER, false, |key, v, pos| {
match key {
MessageHeader::ArrayMessage => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ArrayMessage>>("MessageHeader::ArrayMessage", pos),
MessageHeader::BufferMessage => v.verify_union_variant::<flatbuffers::ForwardsUOffset<BufferMessage>>("MessageHeader::BufferMessage", pos),
MessageHeader::DTypeMessage => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DTypeMessage>>("MessageHeader::DTypeMessage", pos),
_ => Ok(()),
}
})?
.visit_field::<u64>("body_size", Self::VT_BODY_SIZE, false)?
.finish();
Ok(())
}
}
pub struct MessageArgs {
pub version: MessageVersion,
pub header_type: MessageHeader,
pub header: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
pub body_size: u64,
}
impl<'a> Default for MessageArgs {
#[inline]
fn default() -> Self {
MessageArgs {
version: MessageVersion::V0,
header_type: MessageHeader::NONE,
header: None,
body_size: 0,
}
}
}
pub struct MessageBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
}
impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> MessageBuilder<'a, 'b, A> {
#[inline]
pub fn add_version(&mut self, version: MessageVersion) {
self.fbb_.push_slot::<MessageVersion>(Message::VT_VERSION, version, MessageVersion::V0);
}
#[inline]
pub fn add_header_type(&mut self, header_type: MessageHeader) {
self.fbb_.push_slot::<MessageHeader>(Message::VT_HEADER_TYPE, header_type, MessageHeader::NONE);
}
#[inline]
pub fn add_header(&mut self, header: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Message::VT_HEADER, header);
}
#[inline]
pub fn add_body_size(&mut self, body_size: u64) {
self.fbb_.push_slot::<u64>(Message::VT_BODY_SIZE, body_size, 0);
}
#[inline]
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> MessageBuilder<'a, 'b, A> {
let start = _fbb.start_table();
MessageBuilder {
fbb_: _fbb,
start_: start,
}
}
#[inline]
pub fn finish(self) -> flatbuffers::WIPOffset<Message<'a>> {
let o = self.fbb_.end_table(self.start_);
flatbuffers::WIPOffset::new(o.value())
}
}
impl core::fmt::Debug for Message<'_> {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
let mut ds = f.debug_struct("Message");
ds.field("version", &self.version());
ds.field("header_type", &self.header_type());
match self.header_type() {
MessageHeader::ArrayMessage => {
if let Some(x) = self.header_as_array_message() {
ds.field("header", &x)
} else {
ds.field("header", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
MessageHeader::BufferMessage => {
if let Some(x) = self.header_as_buffer_message() {
ds.field("header", &x)
} else {
ds.field("header", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
MessageHeader::DTypeMessage => {
if let Some(x) = self.header_as_dtype_message() {
ds.field("header", &x)
} else {
ds.field("header", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
_ => {
let x: Option<()> = None;
ds.field("header", &x)
},
};
ds.field("body_size", &self.body_size());
ds.finish()
}
}
#[inline]
pub fn root_as_message(buf: &[u8]) -> Result<Message, flatbuffers::InvalidFlatbuffer> {
flatbuffers::root::<Message>(buf)
}
#[inline]
pub fn size_prefixed_root_as_message(buf: &[u8]) -> Result<Message, flatbuffers::InvalidFlatbuffer> {
flatbuffers::size_prefixed_root::<Message>(buf)
}
#[inline]
pub fn root_as_message_with_opts<'b, 'o>(
opts: &'o flatbuffers::VerifierOptions,
buf: &'b [u8],
) -> Result<Message<'b>, flatbuffers::InvalidFlatbuffer> {
flatbuffers::root_with_opts::<Message<'b>>(opts, buf)
}
#[inline]
pub fn size_prefixed_root_as_message_with_opts<'b, 'o>(
opts: &'o flatbuffers::VerifierOptions,
buf: &'b [u8],
) -> Result<Message<'b>, flatbuffers::InvalidFlatbuffer> {
flatbuffers::size_prefixed_root_with_opts::<Message<'b>>(opts, buf)
}
#[inline]
pub unsafe fn root_as_message_unchecked(buf: &[u8]) -> Message {
unsafe { flatbuffers::root_unchecked::<Message>(buf) }
}
#[inline]
pub unsafe fn size_prefixed_root_as_message_unchecked(buf: &[u8]) -> Message {
unsafe { flatbuffers::size_prefixed_root_unchecked::<Message>(buf) }
}
#[inline]
pub fn finish_message_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(
fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
root: flatbuffers::WIPOffset<Message<'a>>) {
fbb.finish(root, None);
}
#[inline]
pub fn finish_size_prefixed_message_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, root: flatbuffers::WIPOffset<Message<'a>>) {
fbb.finish_size_prefixed(root, None);
}