37#ifndef __CWIST_WASM_ENTRY_H__
38#define __CWIST_WASM_ENTRY_H__
42#include <emscripten.h>
58#define CWIST_WASM_DEFINE_ENTRY(app_ptr) \
59 CWIST_WASM_EXPORT const char *cwist_wasm_dispatch(const char *req_buf, \
62 return cwist_wasm_dispatch_memory((app_ptr), req_buf, req_len, \
65 CWIST_WASM_EXPORT void cwist_wasm_dispose(const void *ptr) { \
66 cwist_free((void *)ptr); \
75 CWIST_WASM_EXPORT int cwist_wasm_use_session(const char *secret) { \
76 return cwist_app_use_session((app_ptr), secret); \
78 EM_JS(int, cwist_wasm_stream_chunk_js, (const char *chunk, size_t len), { \
80 if (typeof Module !== "undefined" && typeof Module.cwistStreamChunk === \
82 return Module.cwistStreamChunk(chunk, len) ? 1 : 0; \
87 static int cwist_wasm_stream_sink(void *ctx, const char *data, size_t len) { \
89 return cwist_wasm_stream_chunk_js(data, len); \
91 CWIST_WASM_EXPORT int cwist_wasm_dispatch_stream(const char *req_buf, size_t req_len) { \
92 return cwist_app_dispatch_stream((app_ptr), req_buf, req_len, cwist_wasm_stream_sink, \
Memory allocation wrappers backed by libttak.
Signed client-side session cookie API.
Core Application Structure and Lifecycle Management.
(Deprecated) Legacy Emscripten zero-copy helpers.