[−][src]Struct tox_packet::onion::InnerOnionAnnounceRequest
It's used for announcing ourselves to onion node and for looking for other announced nodes.
If we want to announce ourselves we should send one OnionAnnounceRequest
packet with PingId set to 0 to acquire correct PingId of onion node. Then using
this PingId we can send another OnionAnnounceRequest
to be added to onion
nodes list. If OnionAnnounceRequest
succeed we will get
OnionAnnounceResponse
with announce_status set to 2. Otherwise announce_status
will be set to 0.
If we are looking for another node we should send OnionAnnounceRequest
packet
with PingId set to 0 and with PublicKey
of this node. If node is found we will
get OnionAnnounceResponse
with announce_status set to 1. Otherwise
announce_status will be set to 0.
Serialized form:
Length | Content |
---|---|
1 | 0x83 |
24 | Nonce |
32 | Temporary or real PublicKey |
variable | Payload |
where payload is encrypted OnionAnnounceRequestPayload
Fields
nonce: Nonce
Nonce for the current encrypted payload
pk: PublicKey
Temporary or real PublicKey
for the current encrypted payload
payload: Vec<u8>
Encrypted payload
Implementations
impl InnerOnionAnnounceRequest
[src]
pub fn new(
shared_secret: &PrecomputedKey,
pk: &PublicKey,
payload: &OnionAnnounceRequestPayload
) -> InnerOnionAnnounceRequest
[src]
shared_secret: &PrecomputedKey,
pk: &PublicKey,
payload: &OnionAnnounceRequestPayload
) -> InnerOnionAnnounceRequest
Create new InnerOnionAnnounceRequest
object.
pub fn get_payload(
&self,
shared_secret: &PrecomputedKey
) -> Result<OnionAnnounceRequestPayload, GetPayloadError>
[src]
&self,
shared_secret: &PrecomputedKey
) -> Result<OnionAnnounceRequestPayload, GetPayloadError>
Decrypt payload and try to parse it as OnionAnnounceRequestPayload
.
Returns Error
in case of failure:
- fails to decrypt
- fails to parse as
OnionAnnounceRequestPayload
Trait Implementations
impl Clone for InnerOnionAnnounceRequest
[src]
pub fn clone(&self) -> InnerOnionAnnounceRequest
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for InnerOnionAnnounceRequest
[src]
impl Eq for InnerOnionAnnounceRequest
[src]
impl FromBytes for InnerOnionAnnounceRequest
[src]
impl PartialEq<InnerOnionAnnounceRequest> for InnerOnionAnnounceRequest
[src]
pub fn eq(&self, other: &InnerOnionAnnounceRequest) -> bool
[src]
pub fn ne(&self, other: &InnerOnionAnnounceRequest) -> bool
[src]
impl StructuralEq for InnerOnionAnnounceRequest
[src]
impl StructuralPartialEq for InnerOnionAnnounceRequest
[src]
impl ToBytes for InnerOnionAnnounceRequest
[src]
Auto Trait Implementations
impl RefUnwindSafe for InnerOnionAnnounceRequest
[src]
impl Send for InnerOnionAnnounceRequest
[src]
impl Sync for InnerOnionAnnounceRequest
[src]
impl Unpin for InnerOnionAnnounceRequest
[src]
impl UnwindSafe for InnerOnionAnnounceRequest
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,