26#define NEOGRAPH_PROGRAM_NATIVE_ABI_V1 UINT32_C(1)
28#define NEOGRAPH_PROGRAM_NATIVE_INVOKE_ACCEPTED INT32_C(0)
29#define NEOGRAPH_PROGRAM_NATIVE_INVOKE_REJECTED INT32_C(1)
31#define NEOGRAPH_PROGRAM_NATIVE_COMPLETION_SUCCESS UINT32_C(1)
32#define NEOGRAPH_PROGRAM_NATIVE_COMPLETION_FAILURE UINT32_C(2)
33#define NEOGRAPH_PROGRAM_NATIVE_COMPLETION_CANCELLED UINT32_C(3)
61 void* release_userdata;
75 int32_t (*is_cancel_requested)(
void* userdata);
82 uint64_t invocation_id;
99typedef void (*neograph_program_native_completion_v1)(
100 void* completion_userdata,
114 neograph_program_native_completion_v1 completion,
115 void* completion_userdata);
135 uint32_t abi_version;
136 uint32_t struct_size;
void(* neograph_program_native_destroy_v1)(void *userdata)
Releases plugin-owned userdata exactly once after the binding and every accepted invocation have quie...
void(* neograph_program_native_release_v1)(void *userdata, const uint8_t *data, size_t size)
Releases one output allocation.
void(* neograph_program_native_cancel_v1)(void *userdata, uint64_t invocation_id)
Requests cancellation of one accepted invocation; it never frees userdata.
int32_t(* neograph_program_native_invoke_v1)(void *userdata, const neograph_program_native_invoke_request_v1 *request, neograph_program_native_completion_v1 completion, void *completion_userdata)
Starts one invocation.
Versioned plugin binding supplied to the C++ Program registration surface.
Borrowed, non-owning bytes.
A borrowed cancellation view.
Immutable invocation input.
Plugin-owned bytes returned through a completion callback.