simploxide-ffi-core 0.1.0

SimpleX-Chat raw FFI client
# simploxide-ffi-core

A fully asynchrouns raw SimpleX client backed by the SimpleX FFI bindings(see
[simploxide_sxcrt_sys] for setup instructions) that provides:

1. Multi-instance support: run many SimpleX-Chat instances from a single process. Each instance
   is fully isolated and all are served by a single shared worker thread with fair round-robin
   scheduling and per-instance execution caps to prevent starvation.

1. Complete asynchonisity: futures created by the same instance of a client are fully
   independent from each other. The event queue receives events independently from client
   actions.

1. Graceful shutdown with strong guarantees:
    - All commands enqueued before [`RawClient::disconnect`] are guaranteed to execute and
      return their responses.

    - All commands enqueued after [`RawClient::disconnect`] are guaranteed to return
      [`CallError::Failure`] without being executed.

    - You will receive events for as long as the chat instance is active. After disconnect the
      remaining buffered events are delivered and then the event queue closes.

### LICENSE

**Licensed under [AGPL-3.0](../LICENSE-AGPL3)**