diff options
author | Andrew Clayton <a.clayton@nginx.com> | 2023-10-17 12:53:18 +0100 |
---|---|---|
committer | Andrew Clayton <a.clayton@nginx.com> | 2023-10-17 12:53:18 +0100 |
commit | 4af8e80018a387e0d54be3c3cf902ee12186df00 (patch) | |
tree | 045e1dbf3a9e2b66e162c7ae68d4b42b90658742 /README | |
download | project_blackbird-4af8e80018a387e0d54be3c3cf902ee12186df00.tar.gz project_blackbird-4af8e80018a387e0d54be3c3cf902ee12186df00.tar.bz2 |
Initial commit
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
Diffstat (limited to 'README')
-rw-r--r-- | README | 72 |
1 files changed, 72 insertions, 0 deletions
@@ -0,0 +1,72 @@ +Project Blackbird +================= + +Make Fermyon Spin WebAssembly Modules run on NGINX Unit. + +The repository will contain some exploratory tools. + +Quickstart +========== + +Clone the spin repository + +$ git clone https://github.com/fermyon/spin.git + +Build the wasm module. + +$ cd spin/examples/wasi-http-rust +$ cargo build --target wasm32-wasi + +Grab the Wasmtime C API + +$ wget -O- https://github.com/bytecodealliance/wasmtime/releases/download/v13.0.0/wasmtime-v13.0.0-x86_64-linux-c-api.tar.xz | tar -xvf - + +Clone this repository + +$ git clone git://git.digital-domain.net/project_blackbird.git + +Build it + +$ cd project_blackbird +$ make WASMTIME_C_API=/path/to/wasmtime-c-api WASM_MODULE=/path/to/spin/examples/wasi-http-rust/target/wasm32-wasi/debug/wasi_http_rust.wasm + +Run it + +$ ./wasmtime-wasi-http +Initializing... +Loading binary... +Compiling module... +Setting function imports... + [poll2::poll-oneoff] + [streams2::read] + [streams2::blocking-read] + [streams2::subscribe-to-input-stream] + [streams2::write] + [streams2::blocking-write] + [streams2::subscribe-to-output-stream] + [default-outgoing-HTTP2::handle] + [types2::new-fields] + [types2::fields-entries] + [types2::finish-incoming-stream] + [types2::finish-outgoing-stream] + [types2::incoming-request-method] + [types2::incoming-request-path-with-query] + [types2::incoming-request-headers] + [types2::incoming-request-consume] + [types2::new-outgoing-request] + [types2::outgoing-request-write] + [types2::set-response-outparam] + [types2::incoming-response-status] + [types2::incoming-response-headers] + [types2::incoming-response-consume] + [types2::new-outgoing-response] + [types2::outgoing-response-write] + [types2::future-incoming-response-get] + [types2::listen-to-future-incoming-response] +Initialising WASI... +Instantiating module... +Getting function exports... + [HTTP#handle] + [cabi_realloc] +Shutting down... +Done. |