public NativeNodeHost(IntPtr context, NativeApi nativeMethods) { NativeMethods = nativeMethods; _context = context; _releaseCallback = ReleaseCallbackIntern; _scheduler = new NodeTaskScheduler(context, nativeMethods); }
public IntPtr MarshallTask(Task task, out ReleaseDotNetValue releaseCallback) { var holder = new TaskHolder(task, this); _taskRegistry.Add(holder.CallbackPtr, holder); releaseCallback = ReleaseTaskCallback; return(holder.CallbackPtr); }
public IntPtr MarshallCallback(DotNetCallback callback, out ReleaseDotNetValue releaseCallback) { var holder = new CallbackHolder(callback, this); _registry.Add(holder.CallbackPtr, holder); releaseCallback = ReleaseCallback; return(holder.CallbackPtr); }