func()

in pkg/client/mock/stub_serverV2.go [77:115]


func (s *StubServerV2) listen(opt ...grpc.ServerOption) (lis net.Listener, cleanup func() error, err error) {
	cleanup = func() error { return nil }
	if s.LocalRPC == "" {
		lis, err := net.Listen("tcp", fmt.Sprintf(":%d", s.Port))
		if err != nil {
			return nil, nil, err
		}
		s.Port = lis.Addr().(*net.TCPAddr).Port
		s.target = lis.Addr().String()
		return lis, cleanup, nil
	}

	if runtime.GOOS == "windows" {
		s.target = fmt.Sprintf("\\\\.\\pipe\\%s", s.LocalRPC)
		lis, err = newNPipeListener(s.target, "")
	} else {
		socketDir := filepath.Join(os.TempDir(), randomString(3))
		err = os.MkdirAll(socketDir, 0750)
		if err != nil {
			return nil, nil, err
		}

		cleanup = func() error {
			return os.RemoveAll(socketDir)
		}
		// Cleanup in case if transport.Listen fails
		defer func() {
			if err != nil {
				_ = cleanup()
				cleanup = nil
			}
		}()
		rpcPath := fmt.Sprintf("%s/%s.sock", socketDir, s.LocalRPC)
		s.target = fmt.Sprintf("unix://%s", rpcPath)
		lis, err = net.Listen("unix", rpcPath)
	}

	return lis, cleanup, err
}