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 }