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
---
deliver | 2 +-
main.go | 44 ++++++++++++++++++++++++++------------------
2 files changed, 27 insertions(+), 19 deletions(-)
diff --git a/deliver b/deliver
index 4a091dc..aaae991 160000
--- a/deliver
+++ b/deliver
@@ -1 +1 @@
-Subproject commit 4a091dce95fa50f8b0a055e3154ec2e7f4c276b3
+Subproject commit aaae9917c3df122e2bbcf591417c1b58021d79fc
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