Skip to content

Commit 3770b52

Browse files
committed
Stop counting PQ certs transfer time in the startup benchmark
1 parent c11e884 commit 3770b52

3 files changed

Lines changed: 20 additions & 6 deletions

File tree

dnscrypt-proxy/common.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@ func PrefixWithSize(packet []byte) ([]byte, error) {
6767
return packet, nil
6868
}
6969

70-
func ReadPrefixed(conn *net.Conn) ([]byte, error) {
70+
func ReadPrefixed(conn net.Conn) ([]byte, error) {
7171
buf := make([]byte, 2+MaxDNSPacketSize)
7272
packetLength, pos := -1, 0
7373
for {
74-
readnb, err := (*conn).Read(buf[pos:])
74+
readnb, err := conn.Read(buf[pos:])
7575
if err != nil {
7676
return buf, err
7777
}

dnscrypt-proxy/dnsutils.go

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,19 @@ func DNSExchange(
474474
}
475475
}
476476

477+
type firstReadConn struct {
478+
net.Conn
479+
firstReadAt time.Time
480+
}
481+
482+
func (c *firstReadConn) Read(p []byte) (int, error) {
483+
n, err := c.Conn.Read(p)
484+
if n > 0 && c.firstReadAt.IsZero() {
485+
c.firstReadAt = time.Now()
486+
}
487+
return n, err
488+
}
489+
477490
func _dnsExchange(
478491
proxy *Proxy,
479492
proto string,
@@ -563,11 +576,12 @@ func _dnsExchange(
563576
if _, err := pc.Write(binQuery); err != nil {
564577
return DNSExchangeResponse{err: err}
565578
}
566-
packet, err = ReadPrefixed(&pc)
579+
timedPc := &firstReadConn{Conn: pc}
580+
packet, err = ReadPrefixed(timedPc)
567581
if err != nil {
568582
return DNSExchangeResponse{err: err}
569583
}
570-
rtt = time.Since(now)
584+
rtt = timedPc.firstReadAt.Sub(now)
571585
}
572586
msg := dns.Msg{Data: packet}
573587
if err := msg.Unpack(); err != nil {

dnscrypt-proxy/proxy.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ func (proxy *Proxy) tcpListener(acceptPc *net.TCPListener) {
502502
return
503503
}
504504
start := time.Now()
505-
packet, err := ReadPrefixed(&clientPc)
505+
packet, err := ReadPrefixed(clientPc)
506506
if err != nil {
507507
return
508508
}
@@ -736,7 +736,7 @@ func (proxy *Proxy) exchangeWithTCPServer(
736736
if _, err := pc.Write(encryptedQuery); err != nil {
737737
return nil, err
738738
}
739-
encryptedResponse, err := ReadPrefixed(&pc)
739+
encryptedResponse, err := ReadPrefixed(pc)
740740
if err != nil {
741741
return nil, err
742742
}

0 commit comments

Comments
 (0)