diff options
| author | Shulhan <ms@kilabit.info> | 2019-04-10 18:05:49 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2019-04-12 19:14:02 +0700 |
| commit | 0be6dbb429cb550f7f56b07929d1b636b7d579da (patch) | |
| tree | ec94b5fc572087ac72ada2751498cacd27da9b51 | |
| parent | 9d2d31c8b5502356b526ce6dceaf056ba5fd5a7f (diff) | |
| download | pakakeh.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.go | 1 | ||||
| -rw-r--r-- | lib/dns/dohclient.go | 6 | ||||
| -rw-r--r-- | lib/dns/example_udpclient_test.go | 19 | ||||
| -rw-r--r-- | lib/dns/receiver.go | 12 | ||||
| -rw-r--r-- | lib/dns/server.go | 2 | ||||
| -rw-r--r-- | lib/dns/tcpclient.go | 6 | ||||
| -rw-r--r-- | lib/dns/udpclient.go | 8 |
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 |
