bench_writer.go (nsq-1.2.0) | : | bench_writer.go (nsq-1.2.1) | ||
---|---|---|---|---|
package main | package main | |||
import ( | import ( | |||
"bufio" | "bufio" | |||
"flag" | "flag" | |||
"fmt" | ||||
"log" | "log" | |||
"net" | "net" | |||
"runtime" | "runtime" | |||
"sync" | "sync" | |||
"sync/atomic" | "sync/atomic" | |||
"time" | "time" | |||
"github.com/nsqio/go-nsq" | "github.com/nsqio/go-nsq" | |||
) | ) | |||
skipping to change at line 80 | skipping to change at line 81 | |||
float64(duration/time.Microsecond)/float64(tmc)) | float64(duration/time.Microsecond)/float64(tmc)) | |||
} | } | |||
func pubWorker(td time.Duration, tcpAddr string, batchSize int, batch [][]byte, topic string, rdyChan chan int, goChan chan int) { | func pubWorker(td time.Duration, tcpAddr string, batchSize int, batch [][]byte, topic string, rdyChan chan int, goChan chan int) { | |||
conn, err := net.DialTimeout("tcp", tcpAddr, time.Second) | conn, err := net.DialTimeout("tcp", tcpAddr, time.Second) | |||
if err != nil { | if err != nil { | |||
panic(err.Error()) | panic(err.Error()) | |||
} | } | |||
conn.Write(nsq.MagicV2) | conn.Write(nsq.MagicV2) | |||
rw := bufio.NewReadWriter(bufio.NewReader(conn), bufio.NewWriter(conn)) | rw := bufio.NewReadWriter(bufio.NewReader(conn), bufio.NewWriter(conn)) | |||
ci := make(map[string]interface{}) | ||||
ci["client_id"] = "writer" | ||||
ci["hostname"] = "writer" | ||||
ci["user_agent"] = fmt.Sprintf("bench_writer/%s", nsq.VERSION) | ||||
cmd, _ := nsq.Identify(ci) | ||||
cmd.WriteTo(rw) | ||||
rdyChan <- 1 | rdyChan <- 1 | |||
<-goChan | <-goChan | |||
rw.Flush() | ||||
nsq.ReadResponse(rw) | ||||
var msgCount int64 | var msgCount int64 | |||
endTime := time.Now().Add(td) | endTime := time.Now().Add(td) | |||
for { | for { | |||
cmd, _ := nsq.MultiPublish(topic, batch) | cmd, _ := nsq.MultiPublish(topic, batch) | |||
_, err := cmd.WriteTo(rw) | _, err := cmd.WriteTo(rw) | |||
if err != nil { | if err != nil { | |||
panic(err.Error()) | panic(err.Error()) | |||
} | } | |||
err = rw.Flush() | err = rw.Flush() | |||
if err != nil { | if err != nil { | |||
End of changes. 3 change blocks. | ||||
0 lines changed or deleted | 9 lines changed or added |