github.com/Cloud-Foundations/Dominator@v0.3.4/hypervisor/rpcd/holdLock.go (about)

     1  package rpcd
     2  
     3  import (
     4  	"github.com/Cloud-Foundations/Dominator/lib/errors"
     5  	"github.com/Cloud-Foundations/Dominator/lib/format"
     6  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
     7  	"github.com/Cloud-Foundations/Dominator/proto/hypervisor"
     8  )
     9  
    10  func (t *srpcType) HoldLock(conn *srpc.Conn, request hypervisor.HoldLockRequest,
    11  	reply *hypervisor.HoldLockResponse) error {
    12  	if request.WriteLock {
    13  		t.logger.Printf("HoldLock(%s) by %s for writing\n",
    14  			format.Duration(request.Timeout), conn.Username())
    15  	} else {
    16  		t.logger.Printf("HoldLock(%s) by %s for reading\n",
    17  			format.Duration(request.Timeout), conn.Username())
    18  	}
    19  	response := hypervisor.HoldLockResponse{
    20  		errors.ErrorToString(t.manager.HoldLock(request.Timeout,
    21  			request.WriteLock))}
    22  	*reply = response
    23  	return nil
    24  }