pub struct LoopbackTransport { /* private fields */ }Expand description
An in-process SyncTransport: each scope is a real FsRelay +
InMemoryLeaseCoordinator over a temp dir, so it reproduces the canonical
relay/lease semantics exactly. Clone shares one server across devices.
Implementations§
Source§impl LoopbackTransport
impl LoopbackTransport
Sourcepub fn new() -> Result<Self>
pub fn new() -> Result<Self>
A fresh reference server (system wall clock, no eviction horizon).
pub fn with_config(config: RelayConfig, wall: WallClock) -> Result<Self>
Trait Implementations§
Source§impl Clone for LoopbackTransport
impl Clone for LoopbackTransport
Source§impl OrgKeyTransport for LoopbackTransport
impl OrgKeyTransport for LoopbackTransport
fn publish_wrapped( &self, scope: &str, wrapped: &WrappedOrgKey, ) -> Result<(), TransportError>
fn fetch_wrapped( &self, scope: &str, epoch: u64, recipient_user_id: &str, ) -> Result<Option<WrappedOrgKey>, TransportError>
fn fetch_wrapped_for( &self, scope: &str, recipient_user_id: &str, ) -> Result<Vec<WrappedOrgKey>, TransportError>
fn publish_pubkey( &self, scope: &str, account_id: &str, public_hex: &str, ) -> Result<(), TransportError>
fn fetch_pubkeys( &self, scope: &str, ) -> Result<Vec<MemberPublicKey>, TransportError>
Source§impl SyncTransport for LoopbackTransport
impl SyncTransport for LoopbackTransport
fn enroll( &self, scope: &str, device_id: &str, ) -> Result<RosterEntry, TransportError>
fn push( &self, scope: &str, device_id: &str, ops: &[OpRecord], ) -> Result<PushOutcome, TransportError>
fn pull( &self, scope: &str, device_id: &str, since: &Frontier, ) -> Result<PullResult, TransportError>
fn ack( &self, scope: &str, device_id: &str, frontier: Hlc, ) -> Result<AckOutcome, TransportError>
fn checkpoint_put( &self, scope: &str, device_id: &str, checkpoint: &Checkpoint, ) -> Result<bool, TransportError>
fn checkpoint_get( &self, scope: &str, ) -> Result<Option<Checkpoint>, TransportError>
fn roster(&self, scope: &str) -> Result<Vec<RosterEntry>, TransportError>
fn stable_frontier(&self, scope: &str) -> Result<Option<Hlc>, TransportError>
fn gc(&self, scope: &str) -> Result<GcReport, TransportError>
fn lease_acquire( &self, scope: &str, agent_id: &str, device_id: &str, ttl_ms: u64, ) -> Result<LeaseWire, TransportError>
fn lease_renew( &self, scope: &str, agent_id: &str, device_id: &str, epoch: u64, ttl_ms: u64, ) -> Result<LeaseWire, TransportError>
fn lease_release( &self, scope: &str, agent_id: &str, device_id: &str, epoch: u64, ) -> Result<LeaseWire, TransportError>
fn lease_current( &self, scope: &str, agent_id: &str, ) -> Result<LeaseWire, TransportError>
Auto Trait Implementations§
impl Freeze for LoopbackTransport
impl RefUnwindSafe for LoopbackTransport
impl Send for LoopbackTransport
impl Sync for LoopbackTransport
impl Unpin for LoopbackTransport
impl UnsafeUnpin for LoopbackTransport
impl UnwindSafe for LoopbackTransport
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