pub trait StreamingSink: Debug {
// Required methods
fn write_data(&mut self, data: Data) -> Result<()>;
fn write_batch(&mut self, data: Vec<Data>) -> Result<()>;
fn write_any(&mut self, message: &dyn Any) -> Result<bool>;
fn flush(&mut self) -> Result<()>;
fn close(&mut self) -> Result<()>;
}Expand description
Object-safe streaming sink boundary substitutable by streaming backends.
Required Methods§
Sourcefn write_data(&mut self, data: Data) -> Result<()>
fn write_data(&mut self, data: Data) -> Result<()>
Writes a single Data enum value.
§Errors
Returns an error if the sink cannot serialize or persist the value.
Sourcefn write_batch(&mut self, data: Vec<Data>) -> Result<()>
fn write_batch(&mut self, data: Vec<Data>) -> Result<()>
Writes a batch of Data values.
§Errors
Returns an error if any item cannot be serialized or persisted.
Sourcefn write_any(&mut self, message: &dyn Any) -> Result<bool>
fn write_any(&mut self, message: &dyn Any) -> Result<bool>
Writes any supported Nautilus message value.
§Errors
Returns an error if the supported message cannot be serialized or persisted.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".