simploxide-core 0.3.0

SimpleX-Chat raw websocket client
Documentation

simploxide-core

Provides a fully asynchronous client capable of sending raw SimpleX requests(commands) and receiving raw responses(JSON objects).

overview

See docs

Features

Complete asynchronisity:

Futures created by the same instance of a client are completely independent from each other. The event queue receives events independently from client actions.

normalOperation

Graceful shutdown:

All futures scheduled before the .disconnect call are guaranteed to receive their responses. All futures scheduled after the .disconnect call are guaranteed to receive the tungstenite::Error::AlreadyClosed error.

gracefulShutdown

Graceful error handling:

If a web socket connection drops due to an error all already received(buffered) responses are guaranteed to be delivered to corresponding futures. All other pending futures are guaranteed to be resolved with the web socket error.

errorPath

LICENSE

DISCLAIMER

SIMPLEX CLI HAS AN OPEN WEBSOCKET API, AND IT CAN BE ACCESSED FROM ANY LIBRARY OR APPLICATION, WHETHER OPEN-SOURCE OR NOT. THE SIMPLOXIDE LIBRARIES PROVIDE A WEBSOCKET CLIENT AND API CODECS FOR SIMPLEX CLI THAT DON'T DEPEND ON ANY CODE FROM THE SIMPLEX PROJECT AND THEREFORE ARE DUAL LICENSED UNDER APACHE-2.0/MIT AS STATED BELOW. APACHE-2.0/MIT TERMS AND CONDITIONS ARE APPLICABLE TO YOUR PROJECTS AS LONG AS THEY DON'T:

  • SHIP SIMPLEX-CLI OR ANY OTHER SIMPLEX COMPONENTS AS PART OF AN APPLICATION
  • USE FFI BINDINGS TO THE SIMPLEX-CORE OR OTHER SIMPLEX LIBRARIES
  • DEPEND ON OR INCLUDE ANYTHING ELSE LICENSED UNDER AGPL

OTHERWISE, YOUR PROJECTS MUST ADHERE TO SIMPLEX AGPL-3.0.

THIS IS NOT A LEGAL ADVICE BUT RATHER A FRIENDLY REMAINDER.

SIMPLOXIDE LIBRARIES AUTHORS DISCLAIM ALL RESPONSIBILITY AND LIABILITY FOR ANY FAILURE BY SIMPLOXIDE USERS TO COMPLY WITH THE AGPL-3.0.


Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.