pub struct NodesRequest {
pub pk: PublicKey,
pub nonce: Nonce,
pub payload: Vec<u8>,
}
Expand description
Nodes request packet struct. It’s used to get up to 4 closest nodes to
requested public key. Every 20 seconds DHT node sends NodesRequest
packet to
a random node in ktree and its known friends list.
https://zetok.github.io/tox-spec/#dht-packet
Length | Content |
---|---|
1 | 0x02 |
32 | Public Key |
24 | Nonce |
56 | Payload |
where Payload is encrypted NodesRequestPayload
Fields§
§pk: PublicKey
public key used for payload encryption
nonce: Nonce
one time serial number
payload: Vec<u8>
encrypted payload
Implementations§
Source§impl NodesRequest
impl NodesRequest
Sourcepub fn new(
shared_secret: &PrecomputedKey,
pk: &PublicKey,
payload: &NodesRequestPayload,
) -> NodesRequest
pub fn new( shared_secret: &PrecomputedKey, pk: &PublicKey, payload: &NodesRequestPayload, ) -> NodesRequest
create new NodesRequest object
Sourcepub fn get_payload(
&self,
shared_secret: &PrecomputedKey,
) -> Result<NodesRequestPayload, GetPayloadError>
pub fn get_payload( &self, shared_secret: &PrecomputedKey, ) -> Result<NodesRequestPayload, GetPayloadError>
Decrypt payload and try to parse it as NodesRequestPayload
.
Returns Error
in case of failure:
- fails to decrypt
- fails to parse as given packet type
Trait Implementations§
Source§impl Clone for NodesRequest
impl Clone for NodesRequest
Source§fn clone(&self) -> NodesRequest
fn clone(&self) -> NodesRequest
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for NodesRequest
impl Debug for NodesRequest
Source§impl FromBytes for NodesRequest
impl FromBytes for NodesRequest
Source§fn from_bytes(i: &[u8]) -> IResult<&[u8], NodesRequest, (&[u8], ErrorKind)>
fn from_bytes(i: &[u8]) -> IResult<&[u8], NodesRequest, (&[u8], ErrorKind)>
Deserialize struct using
nom
from raw bytesSource§impl PartialEq for NodesRequest
impl PartialEq for NodesRequest
Source§impl ToBytes for NodesRequest
impl ToBytes for NodesRequest
impl Eq for NodesRequest
impl StructuralPartialEq for NodesRequest
Auto Trait Implementations§
impl Freeze for NodesRequest
impl RefUnwindSafe for NodesRequest
impl Send for NodesRequest
impl Sync for NodesRequest
impl Unpin for NodesRequest
impl UnwindSafe for NodesRequest
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