pub trait DataExporter: Sync {
    // Required method
    fn put_payload(
        &self,
        key: DataKey,
        locale: &DataLocale,
        payload: &DataPayload<ExportMarker>
    ) -> Result<(), DataError>;

    // Provided methods
    fn flush_singleton(
        &self,
        key: DataKey,
        payload: &DataPayload<ExportMarker>
    ) -> Result<(), DataError> { ... }
    fn flush_with_built_in_fallback(
        &self,
        _key: DataKey,
        _fallback_mode: BuiltInFallbackMode
    ) -> Result<(), DataError> { ... }
    fn flush(&self, _key: DataKey) -> Result<(), DataError> { ... }
    fn close(&mut self) -> Result<(), DataError> { ... }
    fn supports_built_in_fallback(&self) -> bool { ... }
}
Expand description

An object capable of exporting data payloads in some form.

Required Methods§

source

fn put_payload( &self, key: DataKey, locale: &DataLocale, payload: &DataPayload<ExportMarker> ) -> Result<(), DataError>

Save a payload corresponding to the given key and locale. Takes non-mut self as it can be called concurrently.

Provided Methods§

source

fn flush_singleton( &self, key: DataKey, payload: &DataPayload<ExportMarker> ) -> Result<(), DataError>

Function called for singleton keys. Takes non-mut self as it can be called concurrently.

source

fn flush_with_built_in_fallback( &self, _key: DataKey, _fallback_mode: BuiltInFallbackMode ) -> Result<(), DataError>

Function called after a non-singleton key has been fully enumerated, flushing that key with built-in fallback.

Takes non-mut self as it can be called concurrently.

source

fn flush(&self, _key: DataKey) -> Result<(), DataError>

Function called after a non-singleton key has been fully enumerated. Does not include built-in fallback.

Takes non-mut self as it can be called concurrently.

source

fn close(&mut self) -> Result<(), DataError>

This function has to be called before the object is dropped (after all keys have been fully dumped). This conceptually takes ownership, so clients may not interact with this object after close has been called.

source

fn supports_built_in_fallback(&self) -> bool

Returns whether the provider supports built-in fallback. If true, the provider must implement Self::flush_with_built_in_fallback().

Implementors§