network.go 875 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package net
  2. import (
  3. "strings"
  4. )
  5. func (n Network) SystemString() string {
  6. switch n {
  7. case Network_TCP:
  8. return "tcp"
  9. case Network_UDP:
  10. return "udp"
  11. case Network_UNIX:
  12. return "unix"
  13. default:
  14. return "unknown"
  15. }
  16. }
  17. // HasNetwork returns true if the network list has a certain network.
  18. func HasNetwork(list []Network, network Network) bool {
  19. for _, value := range list {
  20. if value == network {
  21. return true
  22. }
  23. }
  24. return false
  25. }
  26. func ParseNetwork(net string) Network {
  27. switch strings.ToLower(net) {
  28. case "tcp":
  29. return Network_TCP
  30. case "udp":
  31. return Network_UDP
  32. case "unix":
  33. return Network_UNIX
  34. default:
  35. return Network_Unknown
  36. }
  37. }
  38. func ParseNetworks(netlist string) []Network {
  39. strlist := strings.Split(netlist, ",")
  40. nl := make([]Network, len(strlist))
  41. for idx, network := range strlist {
  42. nl[idx] = ParseNetwork(network)
  43. }
  44. return nl
  45. }