MCPcopy Create free account
hub / github.com/akshayganeshen/napi-go / CreateAsyncWork

Method CreateAsyncWork

instance_data.go:410–435  ·  view source on GitHub ↗
(
	env Env,
	asyncResource, asyncResourceName Value,
	execute AsyncExecuteCallback,
	complete AsyncCompleteCallback,
)

Source from the content-addressed store, hash-verified

408}
409
410func (d *NapiGoInstanceAsyncWorkData) CreateAsyncWork(
411 env Env,
412 asyncResource, asyncResourceName Value,
413 execute AsyncExecuteCallback,
414 complete AsyncCompleteCallback,
415) (AsyncWork, Status) {
416 d.Lock.Lock()
417 defer d.Lock.Unlock()
418
419 asyncWorkState := d.insert(execute, complete)
420
421 result := AsyncWork{
422 ID: asyncWorkState.ID,
423 }
424 status := Status(C.napi_create_async_work(
425 C.napi_env(env),
426 C.napi_value(asyncResource),
427 C.napi_value(asyncResourceName),
428 C.napi_async_execute_callback(C.ExecuteAsyncExecuteCallback),
429 C.napi_async_complete_callback(C.ExecuteAsyncCompleteCallback),
430 unsafe.Pointer(&asyncWorkState.ID),
431 (*C.napi_async_work)(unsafe.Pointer(&result.Handle)),
432 ))
433
434 return result, status
435}
436
437func (d *NapiGoInstanceAsyncWorkData) GetAsyncWork(
438 id NapiGoAsyncWorkID,

Callers

nothing calls this directly

Calls 2

insertMethod · 0.95
StatusTypeAlias · 0.85

Tested by

no test coverage detected