package udpapi
import (
- "bytes"
"compress/zlib"
- "crypto/aes"
- "crypto/cipher"
- "crypto/md5"
"fmt"
"io"
- "io/ioutil"
"log"
"net"
"sort"
args["s"] = a.session
}
for k, v := range args {
- v = strings.Replace(v, "\n", "<br/>", -1)
- args[k] = strings.Replace(v, "&", "&", -1)
+ s := fmt.Sprint(v)
+ s = strings.Replace(s, "\n", "<br/>", -1)
+ args[k] = strings.Replace(s, "&", "&", -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()
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() {
brk <- true
return
default:
- b, err := getPacket(a.conn, a.ecb)
+ b, err := a.getPacket()
pkt <- packet{b: b, err: err}
}
}
a.routerLock.RLock()
if ch, ok := a.tagRouter[r.Tag()]; ok {
-
log.Println("<<<", string(b))
ch <- r
} else {
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 {