From 3e5334e5dcf1b2b222c6d5ad50427e1c10348b2f Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期五, 17 五月 2019 09:28:51 +0800
Subject: [PATCH] update deliver
---
main.go | 46 +++++++++++++++++++++++++++-------------------
1 files changed, 27 insertions(+), 19 deletions(-)
diff --git a/main.go b/main.go
index 306c19c..a73e2ec 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)
@@ -34,9 +34,20 @@
}
}
+func sender(url string, args ...interface{}) {
+ s := deliver.NewPush(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) {
- c := deliver.NewConsumer(deliver.Mode(mode), url)
+ c := deliver.NewPull(deliver.Mode(mode), url)
var msg []byte
var err error
@@ -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