pub struct ReadBranchLinkV0 {
pub repo: PubKey,
pub branch: PubKey,
pub topic: PubKey,
pub heads: Vec<BlockRef>,
pub read_cap: BlockRef,
pub overlay: OverlayLink,
pub peers: Vec<PeerAdvert>,
}Expand description
Read access to a branch of a Public, Protected or Group store.
The overlay to join can be the outer or the inner, depending on what was offered in the link. The difference between the two is that in the outer overlay, only one broker is contacted. In the inner overlay, all the publisher’s brokers are contacted, so subscription to the pub/sub is more reliable, less prone to outage. This is not a durable link. If the topic has been refreshed, the pubsub won’t be able to be subscribed to, but TopicSyncReq will still work (answering the commits up until the moment the topic was refreshed) and the optional heads will always be retrievable
Fields§
§repo: PubKeyRepository ID
branch: PubKey§topic: PubKey§heads: Vec<BlockRef>an optional list of heads that can be fetched in this branch useful if a specific head is to be shared
read_cap: BlockRefread capability for the branch current (at the time of sharing the link) branch definition commit
overlay: OverlayLinkCurrent overlay link, used to join the overlay, most of the time, an outerOverlay is preferred
peers: Vec<PeerAdvert>Peer brokers to connect to
Trait Implementations§
Source§impl Clone for ReadBranchLinkV0
impl Clone for ReadBranchLinkV0
Source§fn clone(&self) -> ReadBranchLinkV0
fn clone(&self) -> ReadBranchLinkV0
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReadBranchLinkV0
impl Debug for ReadBranchLinkV0
Source§impl<'de> Deserialize<'de> for ReadBranchLinkV0
impl<'de> Deserialize<'de> for ReadBranchLinkV0
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ReadBranchLinkV0, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ReadBranchLinkV0, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for ReadBranchLinkV0
impl Serialize for ReadBranchLinkV0
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for ReadBranchLinkV0
impl RefUnwindSafe for ReadBranchLinkV0
impl Send for ReadBranchLinkV0
impl Sync for ReadBranchLinkV0
impl Unpin for ReadBranchLinkV0
impl UnsafeUnpin for ReadBranchLinkV0
impl UnwindSafe for ReadBranchLinkV0
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§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more