Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add vaccel_config bindings and update agent API #6

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

papazof
Copy link
Collaborator

@papazof papazof commented Jan 30, 2025

Add vaccel_config bindings and rework agent API to support vaccel configuration.

Noteworthy changes:

  • Implement vaccel_config bindings and add wrappers for vaccel_bootstrap*()/vaccel_cleanup() functions
  • Consolidate agent related functions from lib.rs to new Agent struct and split to separate agent.rs
  • Add API support for creating an Agent with a vaccel_config object and initializing vaccel with the agent configuration
  • Add CLI support for parsing vaccel config options and split implementation to cli.rs

Implement `vaccel_config` bindings and add wrappers for
`vaccel_bootstrap*()`/`vaccel_cleanup()` functions

Signed-off-by: Kostis Papazafeiropoulos <[email protected]>
Generate error messages in `vaccel-bindings` using the `thiserror`
crate, as we do for the other crates

Signed-off-by: Kostis Papazafeiropoulos <[email protected]>
Rework agent API to support vaccel configuration and better structure
implementation.

Changes for `vaccel-bindings`, `vaccel-rpc-client` and
`vaccel-rpc-agent`:
- Rename service struct to `AgentService`
- Rename `VaccelEmpty` RPC message to `EmptyResponse` following the
  common scheme

Changes for `vaccel-rpc-agent`:
- Split `AgentService` and related common definitions to
  `agent_service.rs`
- Move `rpc_async.rs` and `rpc_sync.rs` to `async/agent_service.rs` and
  `sync/agent_service.rs` respectively for consistency
- Consolidate agent related functions from `lib.rs` to new `Agent`
  struct and split to separate `agent.rs`
- Add API support for creating an `Agent` with a `vaccel_config` object
  and initializing vaccel with the agent configuration
- Add proper `start()`/`stop()` methods for `Agent`
- Add CLI support for parsing vaccel config options and split
  implementation to `cli.rs`
- Extend and use common errors properly

Signed-off-by: Kostis Papazafeiropoulos <[email protected]>
Fix link for vaccel binary in `README.md`

Signed-off-by: Kostis Papazafeiropoulos <[email protected]>
@papazof papazof force-pushed the feat_unified_config branch 5 times, most recently from 52b51ef to b9464b1 Compare January 31, 2025 17:19
Add temporary install step for missing libcurl/libstb and ensure all
features are checked separately

Signed-off-by: Kostis Papazafeiropoulos <[email protected]>
@papazof papazof force-pushed the feat_unified_config branch from b9464b1 to 1fc9212 Compare January 31, 2025 17:25
@papazof papazof marked this pull request as ready for review February 5, 2025 16:23
@papazof papazof requested review from ananos and ilagomatis February 5, 2025 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant