pub struct StreamEngine { /* private fields */ }Expand description
The top-level streaming engine.
§Usage
use chaincodec_stream::{StreamEngine, StreamConfig};
// ... build engine, call run(), receive from subscriber ...Implementations§
Source§impl StreamEngine
impl StreamEngine
Sourcepub fn new(
config: StreamConfig,
registry: Arc<dyn SchemaRegistry>,
) -> (Self, Receiver<DecodedEvent>)
pub fn new( config: StreamConfig, registry: Arc<dyn SchemaRegistry>, ) -> (Self, Receiver<DecodedEvent>)
Create a new StreamEngine.
Sourcepub fn add_listener(&mut self, listener: Arc<dyn BlockListener>)
pub fn add_listener(&mut self, listener: Arc<dyn BlockListener>)
Register a chain listener.
Sourcepub fn add_decoder(
&mut self,
chain_slug: impl Into<String>,
decoder: Arc<dyn ChainDecoder>,
)
pub fn add_decoder( &mut self, chain_slug: impl Into<String>, decoder: Arc<dyn ChainDecoder>, )
Register a chain decoder.
Sourcepub fn subscribe(&self) -> Receiver<DecodedEvent>
pub fn subscribe(&self) -> Receiver<DecodedEvent>
Subscribe to the decoded event stream.
Call before run() to avoid missing events.
Sourcepub fn metrics(&self) -> StreamMetrics
pub fn metrics(&self) -> StreamMetrics
Returns a snapshot of current metrics.
Auto Trait Implementations§
impl Freeze for StreamEngine
impl !RefUnwindSafe for StreamEngine
impl Send for StreamEngine
impl Sync for StreamEngine
impl Unpin for StreamEngine
impl UnsafeUnpin for StreamEngine
impl !UnwindSafe for StreamEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more