github.com/ydb-platform/ydb-go-sdk/v3@v3.89.2/internal/grpcwrapper/rawydb/operation_params.go (about) 1 package rawydb 2 3 import ( 4 "github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Operations" 5 6 "github.com/ydb-platform/ydb-go-sdk/v3/internal/grpcwrapper/rawoptional" 7 ) 8 9 type OperationParams struct { 10 OperationMode OperationParamsMode 11 12 OperationTimeout rawoptional.Duration 13 CancelAfter rawoptional.Duration 14 } 15 16 func (p *OperationParams) ToProto() *Ydb_Operations.OperationParams { 17 res := &Ydb_Operations.OperationParams{ 18 OperationMode: p.OperationMode.ToProto(), 19 } 20 res.OperationTimeout = p.OperationTimeout.ToProto() 21 res.CancelAfter = p.CancelAfter.ToProto() 22 23 return res 24 } 25 26 type OperationParamsMode int 27 28 const ( 29 OperationParamsModeUnspecified OperationParamsMode = 0 30 OperationParamsModeSync OperationParamsMode = 1 31 OperationParamsModeAsync OperationParamsMode = 2 32 ) 33 34 func (mode OperationParamsMode) ToProto() Ydb_Operations.OperationParams_OperationMode { 35 return Ydb_Operations.OperationParams_OperationMode(mode) 36 } 37 38 func NewRawOperationParamsFromProto(proto *Ydb_Operations.OperationParams) (res OperationParams) { 39 res.OperationMode = OperationParamsMode(proto.GetOperationMode()) 40 res.CancelAfter = rawoptional.Duration{ 41 Value: proto.GetCancelAfter().AsDuration(), 42 HasValue: proto.GetCancelAfter().AsDuration() > 0, 43 } 44 res.OperationTimeout = rawoptional.Duration{ 45 Value: proto.GetOperationTimeout().AsDuration(), 46 HasValue: proto.GetOperationTimeout().AsDuration() > 0, 47 } 48 49 return res 50 }