package main import ( "demo/deliver" "fmt" "os" ) const dLen = 12 * 1024 * 1024 func modeType(t string) deliver.Mode { if t == "pushpull" { return deliver.PushPull } else if t == "pubsub" { return deliver.PubSub } else if t == "pair" { return deliver.Pair } else if t == "reqrep" { return deliver.ReqRep } return deliver.Mode(-1) } func senderMode(ipc string, m deliver.Mode) { if m == deliver.ReqRep { req(ipc, m) } sender(ipc, m) } func recvMode(ipc string, m deliver.Mode, strCount string) { if m == deliver.ReqRep { rep(ipc, m) } reciever(ipc, m, strCount) } func main() { if len(os.Args) > 3 && os.Args[1] == "producer" { m := modeType(os.Args[2]) if m > deliver.ModeStart { senderMode(os.Args[3], m) } os.Exit(0) } if len(os.Args) > 3 && os.Args[1] == "consumer" { m := modeType(os.Args[2]) if m > deliver.ModeStart { recvMode(os.Args[3], m, os.Args[4]) } os.Exit(0) } fmt.Fprintf(os.Stderr, "Usage: pushpull push|pull ...\n") os.Exit(1) }