17 Commits

Author SHA1 Message Date
Valery Antopol
13cf85ba36
feat!: move to async execution (#396)
* wip

* WIP

* WIP

* compiles, async mrepl works

* add Send

* Updating marine-js

* FuncGetter compiles

* wow it compiles

* marine-js compiles but does not work

* marine-js tests almost pass

* marine-runtime and marine-core tests pass

* fmt

* epoch interruption works in mrepl

* WIP: switching from async_trait to box_future

* move from async_trait to BoxFuture

* self-review fixes

* self-review fixes

* merge memory limits

* pr fixes

* pr fixes

* pr fixes

* pr fixes

* update cargo lock

* use published interface-types

* remove patch deps

* fix factory and make AppService generic

* fix marine-js

* try locking deps

* add debug prints to workflow

* fix workflow

* update workflow

* make marine-js bindings patcher update all __wbg_adapter_* functions

* remove debug prints from workflows

* self-review fixes

* self-review fixes

* self-review fixes

* final fixes

* fix mrepl

* fix pr comments, fmt and clippy

* fix Cargo.toml and Cargo.lock after merge

* test fixes after merge

* update rust toolchain to match one in no

* fixes for nox integration

* reexport MError

* update js bindings

* fix warning

* fmt
2024-04-11 00:34:34 +04:00
Valery Antopol
f54ca715a3
feat!: rework wasi mapped dirs handing, relax restrictions (#421)
* add config field to allow absolute wasi paths

* remove config field

* use current dir as default workind_dir

* fix

* remove /tmp /local logic as well as preopened_files

* fix greeting example

* fix greeting example

* fix greeting example

* remove unused var

* return import
2024-02-22 19:33:28 +04:00
Valery Antopol
b20a27f8b6
feat: support marine-rs-sdk 0.14 (#419)
* uodate sdk

* add cp v3 test
2024-02-21 16:59:49 +04:00
Valery Antopol
220c028045
feat!: support particle parameters in CallParameters (__marine_host_api_v2) (#417)
* support call_parameters v2

* fmt

* fix warnings; require exact version for sdk v0 and v1

* support json_path

* update lockfile

* bump sdk versions and fix mrepl

* fix call_parameters example

* fix marine-js

* fmt
2024-02-20 16:06:44 +04:00
Valery Antopol
c948b8b866
feat(ABI)!: support marine-rs-sdk host api versions, support worker_id in CallParamaters (#409)
* use marine-rs-sdk with worker_id in CallParameters

* add example

* fix tests

* update sdk version

* add v0/v1 imports

* fix bugs

* update examples

* use git dependency

* fix effects extractor

* fix marine-js build

* fix marine-js tests

* fix style

* make clippy happy

* update marine-rs-sdk

* add version type

* put v1 call_parameters import into right place
2024-02-08 17:40:57 +04:00
Valery Antopol
662a49204f
feat!: add memory limiting (#391)
* memory limits iteration 1

* correct counting

* update to wasmtime 13.0.0

* wip stats recording

* adding memory limit tests

* fix build

* fix build

* fix build

* fix tests

* add configs

* update Cargo.lock

* self-review fixes

* self-review fixes, cleanup

* fix tests build

* fix tests, remove wee_alloc form lockfile

* fix build

* format tests

* pr fixes

* make tests more robust

* pr fixes

* Add OOM check into marine-runtime

* Use new error variant in tests

* add handy error message

* fix error msg

* fix tests

* check for OOM more precisely

* improve readability

* add "inifinity" memory limit, make memory limit mandatory, stop persisting allocation rejects

* add forgotten allocation stats clear

* pr fixes

* pr fixes

* use bytesize in tests
2023-12-13 19:51:58 +03:00
Valery Antopol
a94494b042
feat!: propagate errors from linked modules (#388)
* propagate errors

* pregare for merge

* support new interface in js backend

* use wasmer-it from crates.io

* fix marine-js tests + update aquavm version for tests
2023-11-03 17:43:14 +03:00
Valery Antopol
36221219c2
chore: update rust-toolchain to 2023-08-27 and make clippy happy (#365)
* chore: update rust-toolchain to 2023-08-27 and make clippy happy

* fmt

* Setup wasm pack as binary

* Run cargo fmt last

---------

Co-authored-by: Anatoly Laskaris <github_me@nahsi.dev>
2023-09-04 12:06:56 +03:00
Valery Antopol
a61ddfc404
feat(marine-js)!: replace old marine-js with common marine-runtime + backend traits impl for JS (#332)
* add js wasm backend crate + blank trait impls

* make wasmtime a default feature for runtime and core

* WIP: mock WASI, greeting almost works

* WIP: added @wasmer/wasi, moved some stuff to JsStore, implementing Caller

* finalize Caller

* remove old code

* changing js API + fmt

* update wasm-bindgen generated and patched code

* update call_module to throw error, fix non-logging tests

* add multi-module test + update js api

* fix last element getting

* refactor interface + pass envs

* get rid of make_*_result

* small refactor

* support passing log function

* get rid of some todos

* use String instead of Vec<u8> for wasi envs

* use Strings for wasi envs in marine js

* little fix

* self-review fixes, import ordering

* self-review fixes, import ordering

* make clippy happy + fmt

* self-review fixes

* self-review fixes

* self-review fixes

* revert example artifact change

* pr fixes

* add __wbg_adapter_N updating code

* add all-types test

* fix build

* update marine_js.js

* Fix I64 handling

* pr fixes

* fix import order

* add copyrights

* Add comments, slightly beautify code

* fmt

* make clippy happy

* update js interface

* split function interface, improve naming

* update Cargo.lock

* update to new wasm-backend traits

* wip

* js glue code update

* improve comment

* use typed index collection

* Add more comments

* Add more comments

* Fix warnings

* pr fixes

* pr fixes
2023-07-25 19:49:55 +03:00
Valery Antopol
0f9979ae11
feat(wasm-backend)!: split Function trait, improve naming (#347)
split function interface, improve naming
2023-07-25 18:23:54 +03:00
Valery Antopol
aeae703229
feat(wasm-backend, app-service)!: use String for wasi env vars + require Clone for Function trait (#333)
* use String instead of Vec<u8> for wasi envs

* require Clone for Function trait

* fmt

* pr fixes
2023-06-14 17:47:14 +03:00
Valery Antopol
b9dbf67376
fix(runtime): support new wasm opcodes by removing unused memory limit setting (#299)
remove unused max memory setting
2023-03-17 15:34:55 +03:00
Valery Antopol
d3a773df4f
feat!: decouple wasmer from Marine, replace it with generic backend interface (#219) 2023-03-15 00:43:51 +03:00
Valery Antopol
fd47800cca
chore(build): fix clippy warnings (#213) 2022-09-19 19:13:38 +03:00
Valery Antopol
d9c8de35aa
Support marine-rs-sdk 0.7.0 (#180) 2022-07-27 18:01:30 +03:00
Mike Voronov
cc1766b7f1
fix tests after renaming (#174) 2022-06-09 17:00:19 +03:00
Mike Voronov
82217b332e
Rename FaaS to Marine, Runtime to Core (#172) 2022-06-02 19:51:27 +03:00