Skip to content

Commit 42cdbcf

Browse files
committed
Enhance Init docstring
1 parent 49f957e commit 42cdbcf

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

commands/instances.go

+19-19
Original file line numberDiff line numberDiff line change
@@ -162,13 +162,13 @@ func Create(req *rpc.CreateRequest) (*rpc.CreateResponse, *status.Status) {
162162
}
163163

164164
// Init loads installed libraries and Platforms in CoreInstance with specified ID,
165-
// an gRPC status error is returned if the CoreInstance doesn't exist.
165+
// a gRPC status error is returned if the CoreInstance doesn't exist.
166+
// All responses are sent through responseCallback, can be nil to ignore all responses.
166167
// Failures don't stop the loading process, in case of loading failure the Platform or library
167-
// is simply skipped and an error gRPC status is sent in the returned channel.
168-
// Channel is closed when loading is finished.
169-
func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
170-
if resp == nil {
171-
resp = func(r *rpc.InitResponse) {}
168+
// is simply skipped and an error gRPC status is sent to responseCallback.
169+
func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) *status.Status {
170+
if responseCallback == nil {
171+
responseCallback = func(r *rpc.InitResponse) {}
172172
}
173173
instance := instances[req.Instance.Id]
174174
if instance == nil {
@@ -182,7 +182,7 @@ func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
182182
URL, err := utils.URLParse(u)
183183
if err != nil {
184184
s := status.Newf(codes.InvalidArgument, "Invalid additional URL: %v", err)
185-
resp(&rpc.InitResponse{
185+
responseCallback(&rpc.InitResponse{
186186
Message: &rpc.InitResponse_Error{
187187
Error: s.Proto(),
188188
},
@@ -196,7 +196,7 @@ func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
196196
_, err := instance.PackageManager.LoadPackageIndexFromFile(indexFile)
197197
if err != nil {
198198
s := status.Newf(codes.FailedPrecondition, "Loading index file: %v", err)
199-
resp(&rpc.InitResponse{
199+
responseCallback(&rpc.InitResponse{
200200
Message: &rpc.InitResponse_Error{
201201
Error: s.Proto(),
202202
},
@@ -207,7 +207,7 @@ func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
207207

208208
if err := instance.PackageManager.LoadPackageIndex(URL); err != nil {
209209
s := status.Newf(codes.FailedPrecondition, "Loading index file: %v", err)
210-
resp(&rpc.InitResponse{
210+
responseCallback(&rpc.InitResponse{
211211
Message: &rpc.InitResponse_Error{
212212
Error: s.Proto(),
213213
},
@@ -219,15 +219,15 @@ func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
219219
// otherwise we wouldn't find them and reinstall them each time
220220
// and they would never get reloaded.
221221
for _, err := range instance.PackageManager.LoadHardware() {
222-
resp(&rpc.InitResponse{
222+
responseCallback(&rpc.InitResponse{
223223
Message: &rpc.InitResponse_Error{
224224
Error: err.Proto(),
225225
},
226226
})
227227
}
228228

229229
taskCallback := func(msg *rpc.TaskProgress) {
230-
resp(&rpc.InitResponse{
230+
responseCallback(&rpc.InitResponse{
231231
Message: &rpc.InitResponse_InitProgress{
232232
InitProgress: &rpc.InitResponse_Progress{
233233
TaskProgress: msg,
@@ -237,7 +237,7 @@ func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
237237
}
238238

239239
downloadCallback := func(msg *rpc.DownloadProgress) {
240-
resp(&rpc.InitResponse{
240+
responseCallback(&rpc.InitResponse{
241241
Message: &rpc.InitResponse_InitProgress{
242242
InitProgress: &rpc.InitResponse_Progress{
243243
DownloadProgress: msg,
@@ -251,7 +251,7 @@ func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
251251
ctagsTool, err := getBuiltinCtagsTool(instance.PackageManager)
252252
if err != nil {
253253
s := status.Newf(codes.Internal, err.Error())
254-
resp(&rpc.InitResponse{
254+
responseCallback(&rpc.InitResponse{
255255
Message: &rpc.InitResponse_Error{
256256
Error: s.Proto(),
257257
},
@@ -261,7 +261,7 @@ func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
261261
toolHasBeenInstalled = toolHasBeenInstalled || ctagsInstalled
262262
if err != nil {
263263
s := status.Newf(codes.Internal, err.Error())
264-
resp(&rpc.InitResponse{
264+
responseCallback(&rpc.InitResponse{
265265
Message: &rpc.InitResponse_Error{
266266
Error: s.Proto(),
267267
},
@@ -272,7 +272,7 @@ func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
272272
serialDiscoveryTool, _ := getBuiltinSerialDiscoveryTool(instance.PackageManager)
273273
if err != nil {
274274
s := status.Newf(codes.Internal, err.Error())
275-
resp(&rpc.InitResponse{
275+
responseCallback(&rpc.InitResponse{
276276
Message: &rpc.InitResponse_Error{
277277
Error: s.Proto(),
278278
},
@@ -282,7 +282,7 @@ func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
282282
toolHasBeenInstalled = toolHasBeenInstalled || serialDiscoveryToolInstalled
283283
if err != nil {
284284
s := status.Newf(codes.Internal, err.Error())
285-
resp(&rpc.InitResponse{
285+
responseCallback(&rpc.InitResponse{
286286
Message: &rpc.InitResponse_Error{
287287
Error: s.Proto(),
288288
},
@@ -294,7 +294,7 @@ func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
294294
// We installed at least one new tool after loading hardware
295295
// so we must reload again otherwise we would never found them.
296296
for _, err := range instance.PackageManager.LoadHardware() {
297-
resp(&rpc.InitResponse{
297+
responseCallback(&rpc.InitResponse{
298298
Message: &rpc.InitResponse_Error{
299299
Error: err.Proto(),
300300
},
@@ -313,7 +313,7 @@ func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
313313

314314
if err := instance.lm.LoadIndex(); err != nil {
315315
s := status.Newf(codes.FailedPrecondition, "Loading index file: %v", err)
316-
resp(&rpc.InitResponse{
316+
responseCallback(&rpc.InitResponse{
317317
Message: &rpc.InitResponse_Error{
318318
Error: s.Proto(),
319319
},
@@ -322,7 +322,7 @@ func Init(req *rpc.InitRequest, resp func(r *rpc.InitResponse)) *status.Status {
322322

323323
for _, err := range instance.lm.RescanLibraries() {
324324
s := status.Newf(codes.FailedPrecondition, "Loading libraries: %v", err)
325-
resp(&rpc.InitResponse{
325+
responseCallback(&rpc.InitResponse{
326326
Message: &rpc.InitResponse_Error{
327327
Error: s.Proto(),
328328
},

0 commit comments

Comments
 (0)