func addr(prot pb.CreateSocketRequest_SocketProtocol, ap *pb.AddressPort) net.Addr { if ap == nil { return nil } switch prot { case pb.CreateSocketRequest_TCP: return &net.TCPAddr{ IP: net.IP(ap.PackedAddress), Port: int(*ap.Port), } case pb.CreateSocketRequest_UDP: return &net.UDPAddr{ IP: net.IP(ap.PackedAddress), Port: int(*ap.Port), } } panic("unknown protocol " + prot.String()) }