#async #wrapper #api-wrapper #api-client #error #segment #concord

concord-client

A client library for walmartlabs/concord written in async Rust

5 releases

0.0.5 Aug 28, 2024
0.0.4 Aug 28, 2024
0.0.3 Aug 22, 2024
0.0.2 Aug 4, 2024
0.0.1 Jul 28, 2024

#21 in #segment

Apache-2.0

27KB
677 lines

concord-client

A work-in-progress high-level wrapper for Concord API. Uses tokio for async I/O.

Depends on reqwest and tokio-tungstenite for HTTP and WebSocket support, respectively.

Status

  • basic QueueClient implementation:
    • maintains a WebSocket connection to the Concord server
    • provides high-level API like next_process and next_command
    • graceful shutdown
    • automatic re-connection on errors
    • timeouts
  • basic ApiClient implementation:
    • can update process status
    • download process state
    • create and update log segments
    • timeouts
    • everything else

Code Conventions

  • warn! and error! messages should include how likely the error is a bug: (possibly a bug), (likely a bug), etc. ApiError messages, however, should not include this information, as the interpretation of the error is up to the caller.

Dependencies

~7–18MB
~257K SLoC