pub struct AeronArchiveReplayMerge { /* private fields */ }
Implementations§
source§impl AeronArchiveReplayMerge
impl AeronArchiveReplayMerge
sourcepub fn new(
subscription: &AeronSubscription,
aeron_archive: &AeronArchive,
replay_channel: &str,
replay_destination: &str,
live_destination: &str,
recording_id: i64,
start_position: i64,
epoch_clock: c_longlong,
merge_progress_timeout_ms: i64,
) -> Result<Self, AeronCError>
pub fn new( subscription: &AeronSubscription, aeron_archive: &AeronArchive, replay_channel: &str, replay_destination: &str, live_destination: &str, recording_id: i64, start_position: i64, epoch_clock: c_longlong, merge_progress_timeout_ms: i64, ) -> Result<Self, AeronCError>
Create an AeronArchiveReplayMerge
to manage the merging of a replayed stream into a live stream.
§Parameters
-
replay_merge
theAeronArchiveReplayMerge
to create and initialize -
subscription
the subscription to use for the replay and live stream. Must be a multi-destination subscription -
aeron_archive
the archive client -
replay_channel
the channel to use for the replay -
replay_destination
the replay channel to use for the destination added by the subscription -
live_destination
the live stream channel to use for the destination added by the subscription -
recording_id
the recording id of the archive to replay -
start_position
the start position of the replay -
epoch_clock
the clock to use for progress checks -
merge_progress_timeout_ms
the timeout to use for progress checks
§Return
0 for success, -1 for failure
sourcepub fn close(&self) -> Result<i32, AeronCError>
pub fn close(&self) -> Result<i32, AeronCError>
sourcepub fn poll<AeronFragmentHandlerHandlerImpl: AeronFragmentHandlerCallback>(
&self,
handler: Option<&Handler<AeronFragmentHandlerHandlerImpl>>,
fragment_limit: c_int,
) -> Result<i32, AeronCError>
pub fn poll<AeronFragmentHandlerHandlerImpl: AeronFragmentHandlerCallback>( &self, handler: Option<&Handler<AeronFragmentHandlerHandlerImpl>>, fragment_limit: c_int, ) -> Result<i32, AeronCError>
Poll the image used for the merging replay and live stream. The aeron_archive_replay_merge_do_work will be called before the poll so that processing of the merge can be done.
§Parameters
-
handler
the handler to call for incoming fragments -
clientd
the clientd to provide to the handler -
fragment_limit
the max number of fragments to process before returning
§Return
= 0 indicates the number of fragments processed, -1 for failure
sourcepub fn image(&self) -> AeronImage
pub fn image(&self) -> AeronImage
sourcepub fn has_failed(&self) -> bool
pub fn has_failed(&self) -> bool
sourcepub fn is_live_added(&self) -> bool
pub fn is_live_added(&self) -> bool
Is the live destination added to the subscription?
§Return
true if the live destination is added to the subscription
pub fn get_inner(&self) -> *mut aeron_archive_replay_merge_t
Trait Implementations§
source§impl Clone for AeronArchiveReplayMerge
impl Clone for AeronArchiveReplayMerge
source§fn clone(&self) -> AeronArchiveReplayMerge
fn clone(&self) -> AeronArchiveReplayMerge
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for AeronArchiveReplayMerge
impl Debug for AeronArchiveReplayMerge
source§impl Deref for AeronArchiveReplayMerge
impl Deref for AeronArchiveReplayMerge
source§impl From<&AeronArchiveReplayMerge> for *mut aeron_archive_replay_merge_t
impl From<&AeronArchiveReplayMerge> for *mut aeron_archive_replay_merge_t
source§fn from(value: &AeronArchiveReplayMerge) -> Self
fn from(value: &AeronArchiveReplayMerge) -> Self
source§impl From<*const aeron_archive_replay_merge_stct> for AeronArchiveReplayMerge
impl From<*const aeron_archive_replay_merge_stct> for AeronArchiveReplayMerge
source§fn from(value: *const aeron_archive_replay_merge_t) -> Self
fn from(value: *const aeron_archive_replay_merge_t) -> Self
source§impl From<*mut aeron_archive_replay_merge_stct> for AeronArchiveReplayMerge
impl From<*mut aeron_archive_replay_merge_stct> for AeronArchiveReplayMerge
source§fn from(value: *mut aeron_archive_replay_merge_t) -> Self
fn from(value: *mut aeron_archive_replay_merge_t) -> Self
source§impl From<AeronArchiveReplayMerge> for *mut aeron_archive_replay_merge_t
impl From<AeronArchiveReplayMerge> for *mut aeron_archive_replay_merge_t
source§fn from(value: AeronArchiveReplayMerge) -> Self
fn from(value: AeronArchiveReplayMerge) -> Self
source§impl From<AeronArchiveReplayMerge> for aeron_archive_replay_merge_t
impl From<AeronArchiveReplayMerge> for aeron_archive_replay_merge_t
source§fn from(value: AeronArchiveReplayMerge) -> Self
fn from(value: AeronArchiveReplayMerge) -> Self
source§impl From<aeron_archive_replay_merge_stct> for AeronArchiveReplayMerge
impl From<aeron_archive_replay_merge_stct> for AeronArchiveReplayMerge
source§fn from(value: aeron_archive_replay_merge_t) -> Self
fn from(value: aeron_archive_replay_merge_t) -> Self
Auto Trait Implementations§
impl Freeze for AeronArchiveReplayMerge
impl !RefUnwindSafe for AeronArchiveReplayMerge
impl !Send for AeronArchiveReplayMerge
impl !Sync for AeronArchiveReplayMerge
impl Unpin for AeronArchiveReplayMerge
impl !UnwindSafe for AeronArchiveReplayMerge
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)