]> git.lizzy.rs Git - go-anidb.git/blobdiff - udp/comm.go
anidb: Update documentation
[go-anidb.git] / udp / comm.go
index 1c8139e97701e884f7425ef7604e6a64ca932616..1017c69006aebac83b6da80c0cf6fc0aac76ad5c 100755 (executable)
@@ -8,14 +8,9 @@
 package udpapi
 
 import (
-       "bytes"
        "compress/zlib"
-       "crypto/aes"
-       "crypto/cipher"
-       "crypto/md5"
        "fmt"
        "io"
-       "io/ioutil"
        "log"
        "net"
        "sort"
@@ -104,18 +99,19 @@ func (a *AniDBUDP) SendRecv(command string, args ParamMap) <-chan APIReply {
                args["s"] = a.session
        }
        for k, v := range args {
-               v = strings.Replace(v, "\n", "<br/>", -1)
-               args[k] = strings.Replace(v, "&", "&amp;", -1)
+               s := fmt.Sprint(v)
+               s = strings.Replace(s, "\n", "<br/>", -1)
+               args[k] = strings.Replace(s, "&", "&amp;", -1)
        }
 
+       ch := make(chan APIReply, 1)
+
        if err := a.dial(); err != nil {
                ch <- newErrorWrapper(err)
                close(ch)
                return ch
        }
 
-       ch := make(chan APIReply, 1)
-
        a.routerLock.Lock()
        a.tagRouter[tag] = ch
        a.routerLock.Unlock()
@@ -192,13 +188,7 @@ func (a *AniDBUDP) send(command string, args ParamMap) chan bool {
 
        p := makePacket([]byte(str), a.ecb)
 
-       sendPacket(p, a.sendCh)
-}
-
-type packet struct {
-       b    []byte
-       err  error
-       sent chan bool
+       return sendPacket(p, a.sendCh)
 }
 
 func (a *AniDBUDP) sendLoop() {
@@ -229,7 +219,7 @@ func (a *AniDBUDP) recvLoop() {
                                brk <- true
                                return
                        default:
-                               b, err := getPacket(a.conn, a.ecb)
+                               b, err := a.getPacket()
                                pkt <- packet{b: b, err: err}
                        }
                }
@@ -278,7 +268,6 @@ func (a *AniDBUDP) recvLoop() {
 
                                a.routerLock.RLock()
                                if ch, ok := a.tagRouter[r.Tag()]; ok {
-
                                        log.Println("<<<", string(b))
                                        ch <- r
                                } else {
@@ -286,7 +275,7 @@ func (a *AniDBUDP) recvLoop() {
                                        if c >= 720 && c < 799 {
                                                // notices that need PUSHACK
                                                id := strings.Fields(r.Text())[0]
-                                               a.send("PUSHACK", paramMap{"nid": id})
+                                               a.send("PUSHACK", ParamMap{"nid": id})
 
                                                a.Notifications <- r
                                        } else if c == 799 {