Skip to content

feat(csharp): implement rented message polling#3250

Open
lukaszzborek wants to merge 3 commits into
masterfrom
feat/dotnet-memory-usage
Open

feat(csharp): implement rented message polling#3250
lukaszzborek wants to merge 3 commits into
masterfrom
feat/dotnet-memory-usage

Conversation

@lukaszzborek
Copy link
Copy Markdown
Contributor

  • add rented with bytes renting from pool
  • refactor normal pooling api to return fully safe object

Some notes:

  • new rented api can save 1 or 2 allocations of message content
  • it's quite big changes, so i decided to split it to more parts
  • currently header mapping is lazy, it will be change after decryption change

Whats next in next pr

  • change encryption/decryption - move it to IggyClient and add rented api to it
  • add similar rented/memory/span api to message sending

@codecov
Copy link
Copy Markdown

codecov Bot commented May 13, 2026

Codecov Report

❌ Patch coverage is 78.23834% with 126 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.86%. Comparing base (69177a1) to head (a28b2fb).
⚠️ Report is 8 commits behind head on master.

Files with missing lines Patch % Lines
...n/csharp/Iggy_SDK/Consumers/IggyConsumer.Rented.cs 62.58% 43 Missing and 9 partials ⚠️
...SDK/IggyClient/Implementations/TcpMessageStream.cs 82.73% 9 Missing and 20 partials ⚠️
foreign/csharp/Iggy_SDK/Consumers/IggyConsumer.cs 33.33% 13 Missing and 3 partials ⚠️
...reign/csharp/Iggy_SDK/Contracts/MessageResponse.cs 68.96% 9 Missing ⚠️
foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.cs 92.47% 3 Missing and 4 partials ⚠️
...csharp/Iggy_SDK/Consumers/ReceivedRentedMessage.cs 87.87% 3 Missing and 1 partial ⚠️
...oreign/csharp/Iggy_SDK/IggyClient/IIggyConsumer.cs 0.00% 4 Missing ⚠️
...reign/csharp/Iggy_SDK/Consumers/IggyConsumerOfT.cs 94.87% 0 Missing and 2 partials ⚠️
...csharp/Iggy_SDK/Contracts/RentedMessageResponse.cs 94.11% 0 Missing and 1 partial ⚠️
.../csharp/Iggy_SDK/Extensions/IggyClientExtension.cs 0.00% 1 Missing ⚠️
... and 1 more
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3250      +/-   ##
============================================
+ Coverage     73.83%   73.86%   +0.03%     
  Complexity      943      943              
============================================
  Files          1190     1194       +4     
  Lines        107833   108196     +363     
  Branches      84850    84913      +63     
============================================
+ Hits          79614    79915     +301     
- Misses        25467    25495      +28     
- Partials       2752     2786      +34     
Components Coverage Δ
Rust Core 74.88% <ø> (ø)
Java SDK 60.14% <ø> (ø)
C# SDK 70.26% <78.23%> (+0.82%) ⬆️
Python SDK 81.43% <ø> (ø)
Node SDK 91.53% <ø> (ø)
Go SDK 39.80% <ø> (ø)
Files with missing lines Coverage Δ
...reign/csharp/Iggy_SDK/Consumers/ReceivedMessage.cs 100.00% <100.00%> (+16.66%) ⬆️
.../csharp/Iggy_SDK/Contracts/PolledMessagesRental.cs 100.00% <100.00%> (ø)
...DK/IggyClient/Implementations/HttpMessageStream.cs 72.02% <100.00%> (+0.29%) ⬆️
...csharp/Iggy_SDK/Contracts/RentedMessageResponse.cs 94.11% <94.11%> (ø)
.../csharp/Iggy_SDK/Extensions/IggyClientExtension.cs 0.00% <0.00%> (ø)
...ggy_SDK/JsonConverters/MessageResponseConverter.cs 70.90% <87.50%> (+2.90%) ⬆️
...reign/csharp/Iggy_SDK/Consumers/IggyConsumerOfT.cs 96.49% <94.87%> (+96.49%) ⬆️
...csharp/Iggy_SDK/Consumers/ReceivedRentedMessage.cs 87.87% <87.87%> (ø)
...oreign/csharp/Iggy_SDK/IggyClient/IIggyConsumer.cs 50.00% <0.00%> (-50.00%) ⬇️
foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.cs 91.50% <92.47%> (-1.22%) ⬇️
... and 4 more

... and 10 files with indirect coverage changes

🚀 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.

@hubcio
Copy link
Copy Markdown
Contributor

hubcio commented May 14, 2026

/ready

@github-actions github-actions Bot added the S-waiting-on-review PR is waiting on a reviewer label May 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-review PR is waiting on a reviewer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants