MCPcopy Create free account
hub / github.com/google/gapid / startCmd

Method startCmd

gapis/capture/encoder.go:103–130  ·  view source on GitHub ↗
(ctx context.Context, cmd api.Cmd)

Source from the content-addressed store, hash-verified

101}
102
103func (e *encoder) startCmd(ctx context.Context, cmd api.Cmd) (uint64, error) {
104 if cmdID, ok := e.cmdIDs[cmd]; ok {
105 return cmdID, nil
106 }
107 cmdProto, err := protoconv.ToProto(ctx, cmd)
108 if err != nil {
109 return 0, err
110 }
111
112 var cmdID uint64
113 if id := cmd.Caller(); id != api.CmdNoID {
114 parentID, err := e.startCmd(ctx, e.c.Commands[id])
115 if err != nil {
116 return 0, err
117 }
118 cmdID, err = e.w.BeginChildGroup(ctx, cmdProto, parentID)
119 if err != nil {
120 return 0, err
121 }
122 } else {
123 cmdID, err = e.w.BeginGroup(ctx, cmdProto)
124 if err != nil {
125 return 0, err
126 }
127 }
128 e.cmdIDs[cmd] = cmdID
129 return cmdID, nil
130}
131
132func (e *encoder) endCmd(ctx context.Context, cmd api.Cmd) error {
133 id, ok := e.cmdIDs[cmd]

Callers 1

encodeMethod · 0.95

Calls 3

CallerMethod · 0.65
BeginChildGroupMethod · 0.65
BeginGroupMethod · 0.65

Tested by

no test coverage detected