WriteThrift

Trait WriteThrift 

Source
pub(crate) trait WriteThrift {
    const ELEMENT_TYPE: ElementType;

    // Required method
    fn write_thrift<W: Write>(
        &self,
        writer: &mut ThriftCompactOutputProtocol<W>,
    ) -> Result<()>;
}
Expand description

Trait implemented by objects that are to be serialized to a Thrift compact output protocol stream. Implementations are also provided for primitive Thrift types.

Required Associated Constants§

Source

const ELEMENT_TYPE: ElementType

The ElementType to use when a list of this object is written.

Required Methods§

Source

fn write_thrift<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, ) -> Result<()>

Serialize this object to the given writer.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl WriteThrift for &str

Source§

const ELEMENT_TYPE: ElementType = ElementType::Binary

Source§

fn write_thrift<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, ) -> Result<()>

Source§

impl WriteThrift for &[u8]

Source§

const ELEMENT_TYPE: ElementType = ElementType::Binary

Source§

fn write_thrift<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, ) -> Result<()>

Source§

impl WriteThrift for bool

Source§

const ELEMENT_TYPE: ElementType = ElementType::Bool

Source§

fn write_thrift<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, ) -> Result<()>

Source§

impl WriteThrift for f64

Source§

const ELEMENT_TYPE: ElementType = ElementType::Double

Source§

fn write_thrift<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, ) -> Result<()>

Source§

impl WriteThrift for i8

Source§

const ELEMENT_TYPE: ElementType = ElementType::Byte

Source§

fn write_thrift<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, ) -> Result<()>

Source§

impl WriteThrift for i16

Source§

const ELEMENT_TYPE: ElementType = ElementType::I16

Source§

fn write_thrift<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, ) -> Result<()>

Source§

impl WriteThrift for i32

Source§

const ELEMENT_TYPE: ElementType = ElementType::I32

Source§

fn write_thrift<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, ) -> Result<()>

Source§

impl WriteThrift for i64

Source§

const ELEMENT_TYPE: ElementType = ElementType::I64

Source§

fn write_thrift<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, ) -> Result<()>

Source§

impl WriteThrift for String

Source§

const ELEMENT_TYPE: ElementType = ElementType::Binary

Source§

fn write_thrift<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, ) -> Result<()>

Source§

impl<T> WriteThrift for Vec<T>
where T: WriteThrift,

Implementation for a vector of thrift serializable objects that implement WriteThrift. This will write the necessary list header and then serialize the elements one-at-a-time.

Source§

const ELEMENT_TYPE: ElementType = ElementType::List

Source§

fn write_thrift<W: Write>( &self, writer: &mut ThriftCompactOutputProtocol<W>, ) -> Result<()>

Implementors§

Source§

impl WriteThrift for BloomFilterAlgorithm

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for BloomFilterCompression

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for BloomFilterHash

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for BoundaryOrder

Source§

const ELEMENT_TYPE: ElementType = ElementType::I32

Source§

impl WriteThrift for ColumnOrder

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for Compression

Source§

const ELEMENT_TYPE: ElementType = ElementType::I32

Source§

impl WriteThrift for ConvertedType

Source§

const ELEMENT_TYPE: ElementType = ElementType::I32

Source§

impl WriteThrift for EdgeInterpolationAlgorithm

Source§

const ELEMENT_TYPE: ElementType = ElementType::I32

Source§

impl WriteThrift for Encoding

Source§

const ELEMENT_TYPE: ElementType = ElementType::I32

Source§

impl WriteThrift for FieldRepetitionType

Source§

const ELEMENT_TYPE: ElementType = ElementType::I32

Source§

impl WriteThrift for LogicalType

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for PageType

Source§

const ELEMENT_TYPE: ElementType = ElementType::I32

Source§

impl WriteThrift for TimeUnit

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for Type

Source§

const ELEMENT_TYPE: ElementType = ElementType::I32

Source§

impl WriteThrift for ColumnCryptoMetaData

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for EncryptionAlgorithm

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for ColumnIndexMetaData

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for DecimalType

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for IntType

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for TimestampType

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for VariantType

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for BloomFilterHeader

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for EncryptionWithColumnKey

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for ColumnChunkMetaData

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for KeyValue

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for PageEncodingStats

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for RowGroupMetaData

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for SortingColumn

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for AesGcmCtrV1

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for AesGcmV1

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for BoundingBox

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for DataPageHeader

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for DataPageHeaderV2

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for DictionaryPageHeader

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for GeospatialStatistics

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for IndexPageHeader

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for PageHeader

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for PageStatistics

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for SizeStatistics

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for ByteArrayColumnIndex

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for OffsetIndexMetaData

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for PageLocation

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl WriteThrift for OrderedF64

Source§

const ELEMENT_TYPE: ElementType = ElementType::Double

Source§

impl<'a> WriteThrift for GeographyType<'a>

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl<'a> WriteThrift for GeometryType<'a>

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl<'a> WriteThrift for ColumnChunk<'a>

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl<'a> WriteThrift for ColumnMetaData<'a>

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl<'a> WriteThrift for FileCryptoMetaData<'a>

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl<'a> WriteThrift for FileMeta<'a>

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl<'a> WriteThrift for FileMetaData<'a>

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl<'a> WriteThrift for RowGroup<'a>

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl<'a> WriteThrift for SchemaElement<'a>

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl<'a> WriteThrift for Statistics<'a>

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl<'a> WriteThrift for ThriftColumnIndex<'a>

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct

Source§

impl<T: ParquetValueType> WriteThrift for PrimitiveColumnIndex<T>

Source§

const ELEMENT_TYPE: ElementType = ElementType::Struct