本文整理匯總了Golang中github.com/youtube/vitess/go/vt/vtgate/proto.BeginResponse類的典型用法代碼示例。如果您正苦於以下問題:Golang BeginResponse類的具體用法?Golang BeginResponse怎麽用?Golang BeginResponse使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了BeginResponse類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Begin2
// Begin2 is the RPC version of vtgateservice.VTGateService method
func (vtg *VTGate) Begin2(ctx context.Context, request *proto.BeginRequest, reply *proto.BeginResponse) (err error) {
defer vtg.server.HandlePanic(&err)
ctx, cancel := context.WithDeadline(ctx, time.Now().Add(*rpcTimeout))
defer cancel()
ctx = callerid.NewContext(ctx,
callerid.GoRPCEffectiveCallerID(request.CallerID),
callerid.NewImmediateCallerID("gorpc client"))
// Don't pass in a nil pointer
reply.Session = &pbg.Session{}
vtgErr := vtg.server.Begin(ctx, reply.Session)
reply.Session = sessionToRPC(reply.Session)
vtgate.AddVtGateError(vtgErr, &reply.Err)
return nil
}
示例2: Begin2
// Begin2 is the RPC version of vtgateservice.VTGateService method
func (vtg *VTGate) Begin2(ctx context.Context, request *proto.BeginRequest, reply *proto.BeginResponse) (err error) {
defer vtg.server.HandlePanic(&err)
ctx, cancel := context.WithDeadline(ctx, time.Now().Add(*rpcTimeout))
defer cancel()
// Don't pass in a nil pointer
reply.Session = &proto.Session{}
vtgErr := vtg.server.Begin(ctx, reply.Session)
vtgate.AddVtGateErrorToBeginResponse(vtgErr, reply)
if *vtgate.RPCErrorOnlyInReply {
return nil
}
return vtgErr
}
示例3: AddVtGateErrorToBeginResponse
// AddVtGateErrorToBeginResponse will mutate a BeginResponse struct to fill in the Err
// field with details from the VTGate error.
func AddVtGateErrorToBeginResponse(err error, reply *proto.BeginResponse) {
if err == nil {
return
}
reply.Err = rpcErrFromVtGateError(err)
}