aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2019-04-10 18:05:49 +0700
committerShulhan <ms@kilabit.info>2019-04-12 19:14:02 +0700
commit0be6dbb429cb550f7f56b07929d1b636b7d579da (patch)
treeec94b5fc572087ac72ada2751498cacd27da9b51
parent9d2d31c8b5502356b526ce6dceaf056ba5fd5a7f (diff)
downloadpakakeh.go-0be6dbb429cb550f7f56b07929d1b636b7d579da.tar.xz
dns: remove receiver interface
The interface is not used anymore, client should provide only Lookup and Query to minimize API.
-rw-r--r--lib/dns/client.go1
-rw-r--r--lib/dns/dohclient.go6
-rw-r--r--lib/dns/example_udpclient_test.go19
-rw-r--r--lib/dns/receiver.go12
-rw-r--r--lib/dns/server.go2
-rw-r--r--lib/dns/tcpclient.go6
-rw-r--r--lib/dns/udpclient.go8
7 files changed, 14 insertions, 40 deletions
diff --git a/lib/dns/client.go b/lib/dns/client.go
index 11b3e687..08edf104 100644
--- a/lib/dns/client.go
+++ b/lib/dns/client.go
@@ -19,5 +19,4 @@ type Client interface {
SetTimeout(t time.Duration)
SetRemoteAddr(addr string) error
Sender
- Receiver
}
diff --git a/lib/dns/dohclient.go b/lib/dns/dohclient.go
index e8b644d9..6fb52047 100644
--- a/lib/dns/dohclient.go
+++ b/lib/dns/dohclient.go
@@ -204,9 +204,9 @@ func (cl *DoHClient) Query(msg *Message, ns net.Addr) (*Message, error) {
}
//
-// Recv read response from channel.
+// recv read response from channel.
//
-func (cl *DoHClient) Recv(msg *Message) (int, error) {
+func (cl *DoHClient) recv(msg *Message) (int, error) {
httpRes := <-cl.chRes
body, err := ioutil.ReadAll(httpRes.Body)
@@ -241,7 +241,7 @@ func (cl *DoHClient) RemoteAddr() string {
//
// Send DNS message to name server using Get method. Since HTTP client is
-// synchronous, the response is forwarded to channel to be consumed by Recv().
+// synchronous, the response is forwarded to channel to be consumed by recv().
//
func (cl *DoHClient) Send(msg []byte, ns net.Addr) (int, error) {
packet := base64.RawURLEncoding.EncodeToString(msg)
diff --git a/lib/dns/example_udpclient_test.go b/lib/dns/example_udpclient_test.go
index c708988f..e1282d95 100644
--- a/lib/dns/example_udpclient_test.go
+++ b/lib/dns/example_udpclient_test.go
@@ -36,29 +36,16 @@ func ExampleUDPClient() {
_, err = req.Pack()
if err != nil {
- log.Println(err)
+ log.Fatal(err)
return
}
- _, err = cl.Send(req.Packet, ns)
+ res, err := cl.Query(req, ns)
if err != nil {
- log.Println(err)
+ log.Fatal(err)
return
}
- res := dns.NewMessage()
-
- _, err = cl.Recv(res)
- if err != nil {
- log.Println(err)
- return
- }
-
- err = res.Unpack()
- if err != nil {
- log.Fatal("res.Unpack: ", err)
- }
-
fmt.Printf("Receiving DNS message: %s\n", res)
for x, answer := range res.Answer {
fmt.Printf("Answer %d: %s\n", x, answer.RData())
diff --git a/lib/dns/receiver.go b/lib/dns/receiver.go
deleted file mode 100644
index 02a1e837..00000000
--- a/lib/dns/receiver.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2018, Shulhan <ms@kilabit.info>. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package dns
-
-//
-// Receiver is interface for implementing receiving DNS message.
-//
-type Receiver interface {
- Recv(msg *Message) (n int, err error)
-}
diff --git a/lib/dns/server.go b/lib/dns/server.go
index c727cb89..c60d5ef1 100644
--- a/lib/dns/server.go
+++ b/lib/dns/server.go
@@ -462,7 +462,7 @@ func (srv *Server) serveTCPClient(cl *TCPClient) {
for {
req := newRequest()
for {
- n, err = cl.Recv(req.message)
+ n, err = cl.recv(req.message)
if err == nil {
break
}
diff --git a/lib/dns/tcpclient.go b/lib/dns/tcpclient.go
index 8ec49313..9c5e6ba3 100644
--- a/lib/dns/tcpclient.go
+++ b/lib/dns/tcpclient.go
@@ -125,7 +125,7 @@ func (cl *TCPClient) Query(msg *Message, ns net.Addr) (*Message, error) {
res := NewMessage()
- _, err = cl.Recv(res)
+ _, err = cl.recv(res)
if err != nil {
return nil, err
}
@@ -139,9 +139,9 @@ func (cl *TCPClient) Query(msg *Message, ns net.Addr) (*Message, error) {
}
//
-// Recv will read DNS message from active connection in client into `msg`.
+// recv will read DNS message from active connection in client into `msg`.
//
-func (cl *TCPClient) Recv(msg *Message) (n int, err error) {
+func (cl *TCPClient) recv(msg *Message) (n int, err error) {
err = cl.conn.SetReadDeadline(time.Now().Add(cl.Timeout))
if err != nil {
return
diff --git a/lib/dns/udpclient.go b/lib/dns/udpclient.go
index 26586e9d..614e6a69 100644
--- a/lib/dns/udpclient.go
+++ b/lib/dns/udpclient.go
@@ -127,7 +127,7 @@ func (cl *UDPClient) Query(msg *Message, ns net.Addr) (*Message, error) {
res := NewMessage()
- _, err = cl.Recv(res)
+ _, err = cl.recv(res)
if err != nil {
cl.Unlock()
return nil, err
@@ -144,9 +144,9 @@ func (cl *UDPClient) Query(msg *Message, ns net.Addr) (*Message, error) {
}
//
-// Recv will read DNS message from active connection in client into `msg`.
+// recv will read DNS message from active connection in client into `msg`.
//
-func (cl *UDPClient) Recv(msg *Message) (n int, err error) {
+func (cl *UDPClient) recv(msg *Message) (n int, err error) {
err = cl.Conn.SetReadDeadline(time.Now().Add(cl.Timeout))
if err != nil {
return
@@ -160,7 +160,7 @@ func (cl *UDPClient) Recv(msg *Message) (n int, err error) {
msg.Packet = append(msg.Packet[:0], msg.Packet[:n]...)
if debug.Value >= 3 {
- libbytes.PrintHex(">>> UDPClient: Recv:", msg.Packet, 8)
+ libbytes.PrintHex(">>> UDPClient: recv:", msg.Packet, 8)
}
return