Visitar URL original
feat(cpp): add more functions to high level client by slbotbm · Pull Request #4397 · apache/iggy · GitHub
Skip to content

feat(cpp): add more functions to high level client - #4397

Draft
slbotbm wants to merge 16 commits into
masterfrom
cpp-high-level-client-4
Draft

slbotbm wants to merge 16 commits into
masterfrom
cpp-high-level-client-4

Conversation

@slbotbm

@slbotbm slbotbm commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR address?

Closes #
Relates to #2100

Rationale

Expose the final set of functions offered by cpp bridge in the high level client

What changed?

Added the following functions and their related data structs:

  • SendMessages
  • PollMessages
  • DescribeOptions
  • Ping
  • HeartbeatInterval
  • Snapshot
  • SendBinaryRequest
  • UpdatePermissions
  • ChangePassword
  • GetClusterMetadata

Also translated tests to use high level client, deleting those that tested bridge code and were not possible to test in the high level client.

Local Execution

  • Passed
  • Pre-commit hooks ran

AI Usage

If AI tools were used, please answer:

  1. Which tools? codex
  2. Scope of usage? code generation
  3. How did you verify the generated code works correctly? read through the code
  4. Can you explain every line of the code if asked? yes

@slbotbm
slbotbm marked this pull request as draft October 4, 2026 10:23
@github-actions github-actions Bot added S-waiting-on-review PR is waiting on a reviewer and removed S-waiting-on-review PR is waiting on a reviewer labels Oct 4, 2026
@slbotbm

slbotbm commented Oct 4, 2026

Copy link
Copy Markdown
Contributor Author

#3995 is a blocker for this. If author does not respond in some days, I'll drive that PR to completion

@hubcio

hubcio commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

since purge is going away (removal pr goes up today), no need to port the purge tests in stream.cpp / topic.cpp. you can just drop them here.

@slbotbm
slbotbm force-pushed the cpp-high-level-client-4 branch from acbe063 to 6a13dca Compare October 8, 2026 16:31
ethanlin01x and others added 10 commits October 9, 2026 01:45
Frees the name for the consumer a poll names, matching the Rust SDK.
The kind was a string, so a bad one only failed once it reached Rust.
Building the bridge struct by hand leaves the kind unset and the partition
sentinel unnamed.
The kind is now checked where the call is written.

BREAKING CHANGE: poll_messages, store_consumer_offset, get_consumer_offset and
delete_consumer_offset replace their consumer_kind and consumer_id arguments
with a single consumer.
Two names read the whole partition, one shared name does not, and a group
member reads its assignment rather than partition 0.
Clears the TODO left for them, now that consumer groups exist.
@codecov

codecov Bot commented Oct 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 71.64179% with 57 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.82%. Comparing base (09420cf) to head (966dc68).

Files with missing lines Patch % Lines
foreign/cpp/src/client.cpp 56.32% 9 Missing and 29 partials ⚠️
foreign/cpp/src/type_conversions.cpp 56.66% 0 Missing and 13 partials ⚠️
foreign/cpp/include/iggy.hpp 91.93% 0 Missing and 5 partials ⚠️
foreign/cpp/src/type_conversion.rs 90.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             master    #4397    +/-   ##
==========================================
  Coverage     87.82%   87.82%            
  Complexity     1607     1607            
==========================================
  Files          1302     1302            
  Lines        252088   252231   +143     
  Branches     212381   212436    +55     
==========================================
+ Hits         221394   221524   +130     
+ Misses        25408    25376    -32     
- Partials       5286     5331    +45     
Components Coverage Δ
Rust Core 89.63% <ø> (ø)
Java SDK 68.81% <ø> (ø)
C# SDK 61.43% <ø> (ø)
Python SDK 91.25% <ø> (ø)
PHP SDK 85.67% <ø> (ø)
Node SDK 94.98% <ø> (ø)
Go SDK 70.22% <ø> (ø)
C++ SDK 86.81% <71.64%> (+0.20%) ⬆️
Files with missing lines Coverage Δ
foreign/cpp/src/client.rs 89.70% <100.00%> (-0.31%) ⬇️
foreign/cpp/src/lib.rs 100.00% <ø> (ø)
foreign/cpp/src/type_conversion.rs 96.56% <90.00%> (-0.93%) ⬇️
foreign/cpp/include/iggy.hpp 89.84% <91.93%> (+3.46%) ⬆️
foreign/cpp/src/type_conversions.cpp 68.33% <56.66%> (+8.51%) ⬆️
foreign/cpp/src/client.cpp 69.04% <56.32%> (-1.45%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@slbotbm

slbotbm commented Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

removed purge apis in this pr

This branch has not been deployed

No deployments
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.

3 participants