func MakePhaulServer(c Config) (*Server, error) {
	img, err := preparePhaulImages(c.Wdir)
	if err != nil {
		return nil, err
	}
	cr := criu.MakeCriu()
	return &Server{imgs: img, cfg: c, cr: cr}, nil
}
MakePhaulServer function
Main entry point. Make the server with comm and call PhaulRemote
methods on it upon client requests.
package phaul
import (
	"errors"
	"fmt"
	"os"
	"path/filepath"
	"github.com/checkpoint-restore/go-criu/v5"
	"github.com/checkpoint-restore/go-criu/v5/rpc"
	"golang.org/x/sys/unix"
	"google.golang.org/protobuf/proto"
)
type Server struct {
	cfg     Config
	imgs    *images
	cr      *criu.Criu
	process *os.Process
}