client
pub fn client(endpoint string) DnsClientPurpose
client; returns DnsClient.
Parameters
endpointstring- endpoint (string)
Returns
DnsClient — a value of this type
API
#github.com/xulang-org/packages/dnsExternal package `dns #github.com/xulang-org/packages/dns`, provided by github.com/xulang-org/packages.
github.com/xulang-org/packages · 0.1.1 · Install and use
clientpub fn client(endpoint string) DnsClientclient; returns DnsClient.
endpoint stringDnsClient — a value of this type
poolpub fn pool(endpoint string, max_conns int) DnsPoolpool; returns DnsPool.
endpoint stringmax_conns intDnsPool — a value of this type
struct DnsClientpub struct DnsClient {
pub host string
pub port int
}Public struct `DnsClient`.
host stringport intnew_clientpub fn new_client(endpoint string) DnsClientConstruct client.
endpoint stringDnsClient — a value of this type
(DnsClient) connectpub fn (c DnsClient) connect() intCall `connect` on `DnsClient`. Throws on failure.
c DnsClientint — a value of this type
(DnsClient) resolve_a_on_fdpub fn (c DnsClient) resolve_a_on_fd(fd int, domain string) []stringQueries A-records over TCP DNS (RFC 1035 section 4.2.2) Throws on failure.
c DnsClientfd intdomain string[]string — slice result
(DnsClient) resolve_apub fn (c DnsClient) resolve_a(domain string) []stringMethod on `DnsClient`: resolve a. Throws on failure.
c DnsClientdomain string[]string — slice result
const type_apub const type_a = 1Public constant `type_a`. Value `1`.
none
const type_nspub const type_ns = 2Public constant `type_ns`. Value `2`.
none
const type_cnamepub const type_cname = 5Public constant `type_cname`. Value `5`.
none
const type_soapub const type_soa = 6Public constant `type_soa`. Value `6`.
none
const type_txtpub const type_txt = 16Public constant `type_txt`. Value `16`.
none
const class_inpub const class_in = 1Public constant `class_in`. Value `1`.
none
encode_domainpub fn encode_domain(domain string) stringEncodes "www.example.com" -> "\x03www\x07example\x03com\x00"
domain stringstring — result string
build_query_packetpub fn build_query_packet(tx_id int, domain string, qtype int) stringBuilds a standard 12-byte DNS Header + Question section
tx_id intdomain stringqtype intstring — result string
struct DnsAnswerpub struct DnsAnswer {
pub name string
pub rtype int
pub rclass int
pub ttl int
pub data string
}Public struct `DnsAnswer`.
name stringrtype intrclass intttl intdata stringparse_a_recordspub fn parse_a_records(pkt string) []stringParses DNS response and extracts IPv4 addresses (Type A)
pkt string[]string — slice result
struct DnsPoolpub struct DnsPool {
pub client DnsClient
pub idle chan int
pub max_idle int
}Public struct `DnsPool`.
client DnsClientidle chan intmax_idle intopen_poolpub fn open_pool(endpoint string, max_idle int) DnsPoolOpen pool.
endpoint stringmax_idle intDnsPool — a value of this type
(&DnsPool) get_connpub fn (p &DnsPool) get_conn() intMethod on `&DnsPool`: read conn.
p &DnsPoolint — a value of this type
(&DnsPool) put_connpub fn (p &DnsPool) put_conn(fd int)Method on `&DnsPool`: put connection.
p &DnsPoolfd int(&DnsPool) resolve_apub fn (p &DnsPool) resolve_a(domain string) []stringMethod on `&DnsPool`: resolve a. Throws on failure.
p &DnsPooldomain string[]string — slice result
(&DnsPool) closepub fn (p &DnsPool) close()Method on `&DnsPool`: close the resource.
p &DnsPool