pub struct Sender {Show 13 fields
pub listener: ReplicationListener,
pub repl_consumer_1: ReplicationConsumer,
pub repl_consumer_2: ReplicationConsumer,
pub replica_slots: Arc<ReplicaSlotCursors>,
pub store: NodeStore,
pub authorized_keys: Arc<AuthorizedKeys>,
pub evict_flags: [Arc<AtomicBool>; 2],
pub active_flags: [Arc<AtomicBool>; 2],
pub metrics: Arc<ReplicationMetrics>,
pub handlers: [Placement; 2],
pub batch_size: usize,
pub heartbeat_secs: u64,
pub fence_state: Arc<FenceState>,
}Fields§
§listener: ReplicationListenerPre-bound replication listener, non-blocking by construction.
Bound by the caller at startup — not here — so a bad or stolen
--replication-bind port fails the boot with a clear error.
Binding on this thread meant a failure only killed the sender
silently, leaving a primary that looked healthy but could never
satisfy disk+ram/two-disks acks.
repl_consumer_1: ReplicationConsumer§repl_consumer_2: ReplicationConsumer§replica_slots: Arc<ReplicaSlotCursors>§store: NodeStoreThe node’s journal, streamed to replicas, and its snapshot, sent to one that needs a resync.
evict_flags: [Arc<AtomicBool>; 2]§active_flags: [Arc<AtomicBool>; 2]§metrics: Arc<ReplicationMetrics>§handlers: [Placement; 2]Where each replica handler thread runs and how it waits on its replication ring, by slot.
batch_size: usize§heartbeat_secs: u64§fence_state: Arc<FenceState>Node fencing state. Read to stamp the primary’s epoch onto each
StreamStart, and to self-demote when a replica handshakes with a
higher epoch (this primary has been superseded). See crate::fence.
Auto Trait Implementations§
impl !RefUnwindSafe for Sender
impl !UnwindSafe for Sender
impl Freeze for Sender
impl Send for Sender
impl Sync for Sender
impl Unpin for Sender
impl UnsafeUnpin for Sender
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