pub struct IntroPointDescBuilder { /* private fields */ }
hs-common
only.Expand description
Builder for IntroPointDesc
.
Implementations§
Source§impl IntroPointDescBuilder
impl IntroPointDescBuilder
Sourcepub fn link_specifiers(self, value: Vec<EncodedLinkSpec>) -> Self
pub fn link_specifiers(self, value: Vec<EncodedLinkSpec>) -> Self
The list of link specifiers needed to extend a circuit to the introduction point.
These can include public keys and network addresses.
Note that we do not enforce the presence of any link specifiers here;
this means that you can’t assume that an IntroPointDesc
is a meaningful
ChanTarget
without some processing.
Sourcepub fn ipt_kp_ntor(self, value: PublicKey) -> Self
pub fn ipt_kp_ntor(self, value: PublicKey) -> Self
The key to be used to extend a circuit to the introduction point, using the
ntor or ntor3 handshakes. (KP_ntor
)
Sourcepub fn kp_hs_ipt_sid(self, value: HsIntroPtSessionIdKey) -> Self
pub fn kp_hs_ipt_sid(self, value: HsIntroPtSessionIdKey) -> Self
The key to be used to identify the onion service at this introduction point.
(KP_hs_ipt_sid
)
Sourcepub fn kp_hss_ntor(self, value: HsSvcNtorKey) -> Self
pub fn kp_hss_ntor(self, value: HsSvcNtorKey) -> Self
KP_hss_ntor
, the key used to encrypt a handshake to the onion
service when using this introduction point.
The onion service uses a separate key of this type with each introduction point as part of its strategy for preventing replay attacks.
Sourcepub fn build(self) -> Result<IntroPointDesc, IntroPointDescBuilderError>
pub fn build(self) -> Result<IntroPointDesc, IntroPointDescBuilderError>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for IntroPointDescBuilder
impl RefUnwindSafe for IntroPointDescBuilder
impl Send for IntroPointDescBuilder
impl Sync for IntroPointDescBuilder
impl Unpin for IntroPointDescBuilder
impl UnwindSafe for IntroPointDescBuilder
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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