Skip to content

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.

@Zananok
Copy link
Author

Zananok commented Jun 15, 2025

Bump
@BLage Any updates?

…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