From 422ad69bbd7b715098b26f0626eb9b3f02cd7ded Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期三, 15 五月 2019 16:59:13 +0800 Subject: [PATCH] update deliver --- main.go | 44 ++++++++++++++++++++++++++------------------ 1 files changed, 26 insertions(+), 18 deletions(-) diff --git a/main.go b/main.go index 306c19c..8222aa6 100644 --- a/main.go +++ b/main.go @@ -4,19 +4,19 @@ "demo/deliver" "fmt" "os" + "os/signal" "strconv" "time" + + "golang.org/x/sys/unix" ) const dLen = 12 * 1024 * 1024 var mode = deliver.PushPull -func sender(url string) { - +func senderImpl(s deliver.Deliver) { var err error - - s := deliver.NewProducer(deliver.Mode(mode), url) buf := make([]byte, dLen) @@ -33,6 +33,17 @@ // time.Sleep(10 * time.Millisecond) } +} +func sender(url string, args ...interface{}) { + s := deliver.NewProducer(deliver.Mode(mode), url, args...) + + go senderImpl(s) + + c := make(chan os.Signal, 1) + signal.Notify(c, os.Interrupt, os.Kill, unix.SIGTERM) + <-c + + s.Close() } func recvImpl(url string, index int) { @@ -82,26 +93,23 @@ } +func modeType(t string) { + if t == "pushpull" { + mode = deliver.PushPull + } else if t == "pubsub" { + mode = deliver.PubSub + } else if t == "pair" { + mode = deliver.Pair + } +} func main() { if len(os.Args) > 3 && os.Args[1] == "producer" { - if os.Args[2] == "pushpull" { - mode = deliver.PushPull - } else if os.Args[2] == "pubsub" { - mode = deliver.PubSub - } else if os.Args[2] == "pair" { - mode = deliver.Pair - } + modeType(os.Args[2]) sender(os.Args[3]) os.Exit(0) } if len(os.Args) > 3 && os.Args[1] == "consumer" { - if os.Args[2] == "pushpull" { - mode = deliver.PushPull - } else if os.Args[2] == "pubsub" { - mode = deliver.PubSub - } else if os.Args[2] == "pair" { - mode = deliver.Pair - } + modeType(os.Args[2]) reciever(os.Args[3], os.Args[4]) os.Exit(0) -- Gitblit v1.8.0