# WASI host - module data exchange The module SDK re-uses a subset of protobuf messages also used in the remote protocol except for the `TaskOutput` message because WASI handles `STDOUT`/`STDERR` already. The protobuf messages are not used with gRPC but only as binary encoded messages shared via pointers in the WASI modules memory. The following 'RPC' calls are supported: - `log_msg` accepting a pointer and an offset to a `TaskLog` message - won't return anything - `get_state` accepting a pointer and an offset to a `GetStateRequest` message, returning a 64-bit integer (32-bit pointer, 32-bit size) to a `GetStateResponse` message - `set_state` accepting a pointer and an offset to a `SetState` message, returning a 64-bit integer (32-bit pointer, 32-bit size) to a `Result` message optionally containing error details