ssip-client-async

Crates.iossip-client-async
lib.rsssip-client-async
version0.19.0
created_at2023-03-19 06:49:40.445013+00
updated_at2025-06-08 16:30:56.264769+00
descriptionClient API for Speech Dispatcher
homepage
repositoryhttps://github.com/odilia-app/ssip-client-async/
max_upload_size
id814245
size177,867
Tait Hoyem (TTWNO)

documentation

README

Rust SSIP Client

license Crates.io Version

Speech Dispatcher SSIP client library in pure rust.

  • Unix socket.
  • TCP socket.
  • Stop, cancel, pause and resume.
  • List, set voices.
  • Set rate, pitch, volume.
  • Notifications.
  • Message history.
  • tokio support.
  • async-io support.
  • separate protocol driving mechanism in the ssip crate.

Feature Flags

  • default: none.
  • dbus: add support to send these types over DBus via the zbus crate.
  • serde: add support to serialize/deserialize the types with serde.
  • async-io: add support for the smol/async-io runtime. This does not pull in an entire runtime, it only adds generic async integration points.
  • tokio: add support for the tokio runtime. This will pull in the tokio runtime along with support for its tokio::io::Async* traits.
  • async-mio: add support for the low-level mio polling mechanism.

Example

use ssip_client_async::{FifoBuilder, ClientName};
let mut client = fifo::Builder::new().build()?;
client
    .set_client_name(ClientName::new("joe", "hello"))?
    .check_client_name_set()?;
let msg_id = client.speak()?.send_line("hello")?.receive_message_id()?;
client.quit()?;

See other examples in the repository.

License

This software is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

Commit count: 154

cargo fmt