Trait SerializedView

Source
pub trait SerializedView: View {
    type Format: OwnedDeserializer<Self::Value>;

    // Required method
    fn format() -> Self::Format;

    // Provided methods
    fn deserialize(data: &[u8]) -> Result<Self::Value, Error> { ... }
    fn serialize(item: &Self::Value) -> Result<Vec<u8>, Error> { ... }
    fn entries<Database>(
        database: &Database,
    ) -> View<'_, Database, Self, Self::Key>
       where Database: Connection { ... }
    fn entries_async<Database>(
        database: &Database,
    ) -> AsyncView<'_, Database, Self, Self::Key>
       where Database: AsyncConnection { ... }
}
Expand description

A View with additional tyes and logic to handle serializing view values.

Required Associated Types§

Source

type Format: OwnedDeserializer<Self::Value>

The serialization format for this view.

Required Methods§

Source

fn format() -> Self::Format

Returns the configured instance of Self::Format.

Provided Methods§

Source

fn deserialize(data: &[u8]) -> Result<Self::Value, Error>

Deserialize data as Self::Value using this views’s format.

Source

fn serialize(item: &Self::Value) -> Result<Vec<u8>, Error>

Serialize item using this views’s format.

Source

fn entries<Database>(database: &Database) -> View<'_, Database, Self, Self::Key>
where Database: Connection,

Returns a builder for a view query or view reduce.

Source

fn entries_async<Database>( database: &Database, ) -> AsyncView<'_, Database, Self, Self::Key>
where Database: AsyncConnection,

Returns a builder for a view query or view reduce.

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.

Implementors§