]> git.lizzy.rs Git - go-anidb.git/blobdiff - udp.go
Modernize
[go-anidb.git] / udp.go
diff --git a/udp.go b/udp.go
index 59d6c27d0c36f182161c61115a73fdf35b7fe8d5..92eba66a47268594182fcd59ce298e160c56c930 100644 (file)
--- a/udp.go
+++ b/udp.go
@@ -1,8 +1,7 @@
 package anidb
 
 import (
-       "github.com/Kovensky/go-anidb/udp"
-       "log"
+       "github.com/EliasFleckenstein03/go-anidb/udp"
        "sync"
        "time"
 )
@@ -39,17 +38,22 @@ type paramSet struct {
 type udpWrap struct {
        *udpapi.AniDBUDP
 
+       adb *AniDB
+
        sendLock    sync.Mutex
        sendQueueCh chan paramSet
 
        credLock    sync.Mutex
        credentials *credentials
        connected   bool
+
+       user *User
 }
 
-func newUDPWrap() *udpWrap {
+func newUDPWrap(adb *AniDB) *udpWrap {
        u := &udpWrap{
                AniDBUDP:    udpapi.NewAniDBUDP(),
+               adb:         adb,
                sendQueueCh: make(chan paramSet, 10),
        }
        go u.sendQueue()
@@ -90,17 +94,17 @@ func (r *bannedAPIReply) Error() error {
 
 var bannedReply udpapi.APIReply = &bannedAPIReply{}
 
-func logRequest(set paramSet) {
+func (udp *udpWrap) logRequest(set paramSet) {
        switch set.cmd {
        case "AUTH":
-               log.Printf("UDP>>> AUTH user=%s\n", set.params["user"])
+               udp.adb.Logger.Printf("UDP>>> AUTH user=%s\n", set.params["user"])
        default:
-               log.Printf("UDP>>> %s %s\n", set.cmd, udpapi.ParamMap(set.params).String())
+               udp.adb.Logger.Printf("UDP>>> %s %s\n", set.cmd, udpapi.ParamMap(set.params).String())
        }
 }
 
-func logReply(reply udpapi.APIReply) {
-       log.Printf("UDP<<< %d %s\n", reply.Code(), reply.Text())
+func (udp *udpWrap) logReply(reply udpapi.APIReply) {
+       udp.adb.Logger.Printf("UDP<<< %d %s\n", reply.Code(), reply.Text())
 }
 
 func (udp *udpWrap) sendQueue() {
@@ -114,7 +118,7 @@ func (udp *udpWrap) sendQueue() {
                        continue
                }
 
-               logRequest(set)
+               udp.logRequest(set)
                reply := <-udp.AniDBUDP.SendRecv(set.cmd, udpapi.ParamMap(set.params))
 
                if reply.Error() == udpapi.TimeoutError {
@@ -123,7 +127,7 @@ func (udp *udpWrap) sendQueue() {
                        if wait > time.Minute {
                                wait = time.Minute
                        }
-                       log.Printf("UDP--- Timeout; waiting %s before retry", wait)
+                       udp.adb.Logger.Printf("UDP--- Timeout; waiting %s before retry", wait)
 
                        delete(set.params, "s")
                        delete(set.params, "tag")
@@ -131,7 +135,7 @@ func (udp *udpWrap) sendQueue() {
                        time.Sleep(wait)
                        goto Retry
                }
-               logReply(reply)
+               udp.logReply(reply)
 
                wait = initialWait
 
@@ -177,6 +181,10 @@ func (udp *udpWrap) SendRecv(cmd string, params paramMap) <-chan udpapi.APIReply
                }
        }
 
+       if params == nil {
+               params = paramMap{}
+       }
+
        udp.sendQueueCh <- paramSet{
                cmd:    cmd,
                params: params,