Skip to content

Conversation

Jurshsmith
Copy link
Contributor

@Jurshsmith Jurshsmith commented Aug 13, 2024

This PR introduces key architectural enhancements and refactors the core to better integrate with fuel-streams-publisher. The changes focus on improving modularity, clarity, and flexibility across the codebase:

  • Streamable Trait Generalization: The Streamable trait is now NATS-agnostic by adopting more generic function signatures. This decouples our core logic from specific messaging systems, allowing for easier future integrations with other stream processing technologies without significant refactoring.

  • Improved Documentation and Abstraction: Existing abstractions are now more clearly documented, promoting well-defined separation of concerns. This makes it easier for contributors to understand and extend the architecture while reducing the likelihood of cross-cutting concerns.

  • Decoupled Stream Types: This PR introduces the Streams crate in both fuel-streams-publisher and fuel-streams. By separating streams that can be published from those that can be consumed, the architecture is more flexible and better aligned with the principle of single responsibility, leading to cleaner, more maintainable code.

Closes: #83
Closes: #97
Closes: #84

@Jurshsmith Jurshsmith force-pushed the aj/refactor/integrate-core-in-publisher branch 2 times, most recently from d822cd0 to 98bc19c Compare August 14, 2024 08:09
@Jurshsmith Jurshsmith changed the title feat: refactor core and publisher to integrate coherently feat(core): refactor core and publisher to integrate coherently Aug 14, 2024
@Jurshsmith Jurshsmith force-pushed the aj/refactor/integrate-core-in-publisher branch from ece4c43 to fd250d4 Compare August 14, 2024 18:53
@Jurshsmith Jurshsmith force-pushed the aj/refactor/integrate-core-in-publisher branch from fd250d4 to 7c51a09 Compare August 15, 2024 01:15
@Jurshsmith Jurshsmith marked this pull request as ready for review August 15, 2024 01:28
@Jurshsmith Jurshsmith merged commit 2b03dd3 into main Aug 15, 2024
@Jurshsmith Jurshsmith deleted the aj/refactor/integrate-core-in-publisher branch August 15, 2024 12:43
pedronauck pushed a commit that referenced this pull request Aug 16, 2024
* feat: refactor core and publisher to integrate coherently

* refactor: centralize data parsing in Streamable

* refactor: restrict bincode crate to data-parser crate

* refactor: fix previous tests

* refactor: include minimal publishing tests

* refactor: remove old comments

* refactor: resolve conflicts
pedronauck pushed a commit that referenced this pull request Aug 16, 2024
…124)

* feat: refactor core and publisher to integrate coherently

* refactor: centralize data parsing in Streamable

* refactor: restrict bincode crate to data-parser crate

* refactor: fix previous tests

* refactor: include minimal publishing tests

* refactor: remove old comments

* refactor: resolve conflicts
pedronauck pushed a commit that referenced this pull request Aug 16, 2024
…124)

* feat: refactor core and publisher to integrate coherently

* refactor: centralize data parsing in Streamable

* refactor: restrict bincode crate to data-parser crate

* refactor: fix previous tests

* refactor: include minimal publishing tests

* refactor: remove old comments

* refactor: resolve conflicts
@Jurshsmith Jurshsmith self-assigned this Aug 24, 2024
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.

Refactor to use core crate in the publisher crate Blocks - Implement logic on publisher Transactions - Implement logic on publisher
2 participants