in example_grpc/goclient/src/katranc/main/main.go [71:127]
func main() {
flag.Parse()
var service string
var proto int
if *tcpService != "" {
service = *tcpService
proto = IPPROTO_TCP
} else if *udpService != "" {
service = *udpService
proto = IPPROTO_UDP
}
var kc katranc.KatranClient
kc.Init(*katranServer)
if *changeMac != "" {
kc.ChangeMac(*changeMac)
} else if *listMac {
kc.GetMac()
} else if *addService {
kc.AddOrModifyService(service, *vipChangeFlags, proto, false, true)
} else if *listServices {
// TODO(tehnerd): print only specified tcp/udp service
kc.List("", 0)
} else if *delService {
kc.DelService(service, proto)
} else if *editService {
kc.AddOrModifyService(service, *vipChangeFlags, proto, true, !*unsetFlags)
} else if *addServer || *editServer {
kc.UpdateServerForVip(service, proto, *realServer, *realWeight, *realChangeFlags, false)
} else if *delServer {
kc.UpdateServerForVip(service, proto, *realServer, *realWeight, *realChangeFlags, true)
} else if *delQuicMapping {
kc.ModifyQuicMappings(*quicMapping, true)
} else if *quicMapping != "" {
kc.ModifyQuicMappings(*quicMapping, false)
} else if *listQuicMapping {
kc.ListQm()
} else if *clearAll {
kc.ClearAll()
} else if *newHc != "" {
kc.AddHc(*newHc, *somark)
} else if *delHc {
kc.DelHc(*somark)
} else if *listHc {
kc.ListHc()
} else if *showStats {
if *showSumStats {
kc.ShowSumStats()
} else if *showLruStats {
kc.ShowLruStats()
} else if *showIcmpStats {
kc.ShowIcmpStats()
} else {
kc.ShowPerVipStats()
}
}
fmt.Printf("exiting\n")
}