Skip to content

Support daemon alias invocation#2094

Merged
oferchen merged 1 commit into
masterfrom
implement-single-binary-branding-for-oc-rsync
Nov 8, 2025
Merged

Support daemon alias invocation#2094
oferchen merged 1 commit into
masterfrom
implement-single-binary-branding-for-oc-rsync

Conversation

@oferchen
Copy link
Copy Markdown
Owner

@oferchen oferchen commented Nov 8, 2025

Summary

  • allow the CLI to enter daemon mode when invoked via the legacy rsyncd binary name without requiring --daemon
  • expose branding helpers that recognise client and daemon program aliases so the CLI can detect alias invocations
  • cover the new behaviour with regression tests in both the branding crate and the CLI daemon tests

Testing

  • cargo test -p oc-rsync-core brand_profile_alias_detection_handles_client_and_daemon_programs
  • cargo test -p oc-rsync-cli legacy_daemon_invocation_without_flag_delegates_to_daemon

Codex Task

@oferchen oferchen merged commit 90e89d0 into master Nov 8, 2025
@oferchen oferchen deleted the implement-single-binary-branding-for-oc-rsync branch November 8, 2025 23:06
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 147 to 152
#[cfg(test)]
#[allow(unused_imports)]
pub(crate) use oc_rsync_core::branding::{self as branding, Brand};
pub(crate) use oc_rsync_core::branding::{self as branding};
#[cfg(test)]
#[allow(unused_imports)]
pub(crate) use oc_rsync_core::client::{AddressMode, StrongChecksumChoice, TransferTimeout};
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Restore Brand re-export for tests

The test modules under crates/cli/src/frontend/tests pull symbols from the parent module via use super::*; and previously relied on the #[cfg(test)] pub(crate) use oc_rsync_core::branding::{self as branding, Brand}; re‑export. This change drops Brand from that re‑export, so files like short.rs and version.rs no longer compile because Brand is undefined. Either keep Brand in the re‑export or import it explicitly in the tests so cargo test -p oc-rsync-cli continues to build.

Useful? React with 👍 / 👎.

oferchen added a commit that referenced this pull request May 7, 2026
Specifies a PID-style controller that resizes per-pipeline I/O buffer
windows in response to throughput feedback, layered on top of the
existing pressure-driven BufferPool grow/shrink logic. Covers
setpoint/PV/MV signals, sample cadence, anti-windup clamp, integration
points (disk-commit channel capacity, buffer pool slot size, multiplex
frame batching), Ziegler-Nichols tuning strategy, and three workload
presets gated behind --adaptive-buffers. Maps to follow-up tasks #2095
(implementation) and #2096 (convergence tests).
oferchen added a commit that referenced this pull request May 7, 2026
Specifies a PID-style controller that resizes per-pipeline I/O buffer
windows in response to throughput feedback, layered on top of the
existing pressure-driven BufferPool grow/shrink logic. Covers
setpoint/PV/MV signals, sample cadence, anti-windup clamp, integration
points (disk-commit channel capacity, buffer pool slot size, multiplex
frame batching), Ziegler-Nichols tuning strategy, and three workload
presets gated behind --adaptive-buffers. Maps to follow-up tasks #2095
(implementation) and #2096 (convergence tests).
oferchen added a commit that referenced this pull request May 18, 2026
Specifies a PID-style controller that resizes per-pipeline I/O buffer
windows in response to throughput feedback, layered on top of the
existing pressure-driven BufferPool grow/shrink logic. Covers
setpoint/PV/MV signals, sample cadence, anti-windup clamp, integration
points (disk-commit channel capacity, buffer pool slot size, multiplex
frame batching), Ziegler-Nichols tuning strategy, and three workload
presets gated behind --adaptive-buffers. Maps to follow-up tasks #2095
(implementation) and #2096 (convergence tests).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant