Skip to content

Conversation

@atharvalade
Copy link
Contributor

Add IIggySegment interface, TCP/HTTP client support, and integration tests for the delete_segments API method.

Which issue does this PR close?

Closes #2626

Rationale

The C# SDK was missing the delete_segments API method. This brings it in line with the Rust client architecture which has a separate SegmentClient trait.

What changed?

The C# SDK had no way to delete segments from a partition. The Rust SDK exposes this via a dedicated SegmentClient trait with binary (TCP command code 503) and HTTP (DELETE .../partitions/{pid}?segments_count=N) support.

Added a new IIggySegment interface with DeleteSegmentsAsync, implemented it in both TcpMessageStream and HttpMessageStream, wired it into IIggyClient, and added integration tests (TCP only — the server doesn't expose an HTTP segments endpoint yet).

Local Execution

  • Passed, SDK, unit tests (85/85), and integration test project all build with 0 warnings/errors
  • Pre-commit hooks ran, trailing whitespace, trailing newline, mixed line endings, dotnet format all passed. License headers check skipped (addlicense/Go not installed locally, but headers verified manually against existing files).

AI Usage

  1. Opus 4.6
  2. Auditing binary format byte-by-byte against Rust
  3. Built all projects (0 warnings/errors), ran 85 unit tests (all passed), verified binary wire format and HTTP query params match Rust SDK exactly, ran pre-commit hooks
  4. Yes

@atharvalade atharvalade force-pushed the feat/csharp-delete-segments branch from 96d0e1d to b84b218 Compare February 9, 2026 01:24
@atharvalade atharvalade force-pushed the feat/csharp-delete-segments branch from b84b218 to 161ecc3 Compare February 10, 2026 02:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[csharp SDK] Implement delete_segments method

2 participants