github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/hypervisor/rpcd/copyVm.go (about)

     1  package rpcd
     2  
     3  import (
     4  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
     5  	"github.com/Cloud-Foundations/Dominator/proto/hypervisor"
     6  )
     7  
     8  func (t *srpcType) CopyVm(conn *srpc.Conn) error {
     9  	if err := t.copyVm(conn); err != nil {
    10  		return conn.Encode(hypervisor.CopyVmResponse{Error: err.Error()})
    11  	}
    12  	return nil
    13  }
    14  
    15  func (t *srpcType) copyVm(conn *srpc.Conn) error {
    16  	var request hypervisor.CopyVmRequest
    17  	if err := conn.Decode(&request); err != nil {
    18  		return err
    19  	}
    20  	return t.manager.CopyVm(conn, request)
    21  }