@_FFI.callback(u'RunnableComplete(ExternContext*, Function*, Value*, uint64_t, bool)')
def extern_invoke_runnable(context_handle, func, args_ptr, args_len, cacheable):
 c = _FFI.from_handle(context_handle)
 runnable = c.from_id(func.id_)
 args = tuple((c.from_value(arg) for arg in _FFI.unpack(args_ptr, args_len)))
 try:
  val = runnable(*args)
  is_throw = False
 except Exception as e:
  val = e
  is_throw = True
 return RunnableComplete(c.to_value(val), is_throw)

@ _FFI . callback ( u'RunnableComplete(ExternContext*, Function*, Value*, uint64_t, bool)' ) def extern_invoke_runnable ( context_handle , func , args_ptr , args_len , cacheable ) : c = _FFI . from_handle ( context_handle ) runnable = c . from_id ( func . id_ ) args = tuple ( ( c . from_value ( arg ) for arg in _FFI . unpack ( args_ptr , args_len ) ) ) try : val = runnable ( * args ) is_throw = False except Exception as e : val = e is_throw = True return RunnableComplete ( c . to_value ( val ) , is_throw )
given a destructured rawrunnable .