Skip to content

fix: move IMessageProducer and IProducerAccessor from main project to Abstractions #643

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Zananok
Copy link

@Zananok Zananok commented Apr 17, 2025

…ect to Abstractions by introducing delivery report flow and result flow conversions for KafkaFlow and decoupling it from Confluent.Kafka.

Description

Move IMessageProducer.cs and IProducerAccessor.cs from main project to Abstractions by introducing delivery report flow and result flow conversions for KafkaFlow and decoupling it from Confluent.Kafka.

I created 3 interfaces and 3 implementations (as a transfer object) mirroring the original, replacing types with object for those for which implementing the types would be a little too much work, and since a lot of the project already just uses object, I followed suit. The only purpose of this PR is to move the interfaces to the Abstractions project as they are too coupled and prevents the Abstrations project to be what it should be.

Fixes # (issue)

Decouples IProducerAccessor and IMessageProducer from Confluent.Kafka's DeliveryResult and DeliveryReport and moves the Interfaces to the ideal place: the Abstractions project.

How Has This Been Tested?

Imported my local KafkaFlow to both a producing and consumer project and it ran without throwing an exception.
An extra manual check would be appreciated.

Checklist

  • [ x ] My code follows the style guidelines of this project
  • [ x ] I have performed a self-review of my own code
  • I have added tests to cover my changes
  • I have made corresponding changes to the documentation

Disclaimer

By sending us your contributions, you are agreeing that your contribution is made subject to the terms of our Contributor Ownership Statement

@Zananok
Copy link
Author

Zananok commented Apr 18, 2025

Please suggest a fix for https://app.codacy.com/gh/Farfetch/kafkaflow/pull-requests/643/issues#issue-449a910beecdd513142243dcdeee702c: "Unused code - 'TKey' is not used in the interface.", or perhaps consider removing/creating an exception for this static code analysis rule.

Its not used in the interface, but its used in the base interface it inherits/extends.

…from Confluent.Kafka

This moves IMessageProducer.cs and IProducerAccessor.cs into the Abstractions project,
introduces delivery-report and result-flow conversions for KafkaFlow, and fully decouples
KafkaFlow from Confluent.Kafka
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy