pub struct FrontDoorRecord {
pub domain: String,
pub agent_type: AgentType,
pub front_door_did: String,
pub name: Option<String>,
pub webid: Option<String>,
pub services: Vec<QdpService>,
pub identity_pubkey_hex: Option<String>,
pub wireguard_pubkey_hex: Option<String>,
pub overlay_addr: Option<String>,
pub profile_url: Option<String>,
}Expand description
The front-door record for a domain acting as a QDP agent.
Fields§
§domain: String§agent_type: AgentType§front_door_did: StringThe contextually-isolated Front Door DID for this domain (QDP §3.6).
name: Option<String>§webid: Option<String>§services: Vec<QdpService>Services (eCash address, Solid POD, SPARQL…). Only ecash is carried in the compact DNS form.
identity_pubkey_hex: Option<String>§wireguard_pubkey_hex: Option<String>§overlay_addr: Option<String>§profile_url: Option<String>Optional pointer to the rich hosted profile (/.well-known/QDP or a Solid POD).
Implementations§
Source§impl FrontDoorRecord
impl FrontDoorRecord
Sourcepub fn to_dns_txt(&self) -> String
pub fn to_dns_txt(&self) -> String
The DNS TXT value for _qdp.<domain> — compact, no hosting. An RDF snippet (QDP §3.6 shows
qdp:signer <did>), extended with the peering material. Keep it small (DNS strings are 255 bytes).
Sourcepub fn from_dns_txt(domain: &str, txt: &str) -> Result<Self, String>
pub fn from_dns_txt(domain: &str, txt: &str) -> Result<Self, String>
Parse a _qdp.<domain> TXT value back into a record (domain comes from the record name).
Sourcepub fn to_turtle(&self) -> String
pub fn to_turtle(&self) -> String
The rich /.well-known/QDP profile in Turtle (QDP §3.2/§4). Needs hosting.
Sourcepub fn to_json_ld(&self) -> Value
pub fn to_json_ld(&self) -> Value
The rich profile as JSON-LD (Solid-native; QDP §3.2). Needs hosting.
Trait Implementations§
Source§impl Clone for FrontDoorRecord
impl Clone for FrontDoorRecord
Source§fn clone(&self) -> FrontDoorRecord
fn clone(&self) -> FrontDoorRecord
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 FrontDoorRecord
impl Debug for FrontDoorRecord
Source§impl<'de> Deserialize<'de> for FrontDoorRecord
impl<'de> Deserialize<'de> for FrontDoorRecord
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for FrontDoorRecord
impl PartialEq for FrontDoorRecord
Source§fn eq(&self, other: &FrontDoorRecord) -> bool
fn eq(&self, other: &FrontDoorRecord) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for FrontDoorRecord
impl Serialize for FrontDoorRecord
impl Eq for FrontDoorRecord
impl StructuralPartialEq for FrontDoorRecord
Auto Trait Implementations§
impl Freeze for FrontDoorRecord
impl RefUnwindSafe for FrontDoorRecord
impl Send for FrontDoorRecord
impl Sync for FrontDoorRecord
impl Unpin for FrontDoorRecord
impl UnsafeUnpin for FrontDoorRecord
impl UnwindSafe for FrontDoorRecord
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
§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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§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>
Converts
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>
Converts
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