zhangmeng
2019-05-15 422ad69bbd7b715098b26f0626eb9b3f02cd7ded
update deliver
2个文件已修改
46 ■■■■■ 已修改文件
deliver @ aaae99 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.go 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
deliver
@@ -1 +1 @@
Subproject commit 4a091dce95fa50f8b0a055e3154ec2e7f4c276b3
Subproject commit aaae9917c3df122e2bbcf591417c1b58021d79fc
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)