Skip to content

V3/feature/105 - #170

Merged
eneshoxha merged 14 commits into
v3.0/releasefrom
v3/feature/105
Jan 24, 2026
Merged

V3/feature/105#170
eneshoxha merged 14 commits into
v3.0/releasefrom
v3/feature/105

Conversation

@eneshoxha

Copy link
Copy Markdown
Contributor

This PR contains the re-write of Window Operators

eneshoxha and others added 12 commits July 24, 2025 14:57
Add async support to data store interfaces and refactor

Refactor `IDataStore` into its own file for better modularity.
Introduce `IAsyncDataStore` with async methods like `GetAsync`,
`PutAsync`, and `RemoveAsync`, including `IAsyncEnumerable`
support for .NET Standard 2.1+ and .NET Core 3.0+.

Update `InMemoryStateStore` to implement `IAsyncDataStore`,
adding async methods for key-value operations. Improve input
validation in the constructor.

Reorganize namespaces and add conditional compilation for
framework-specific features. These changes enhance scalability,
modernize the API, and improve maintainability.
v2/feature/ #158: Add Async/Await support
…idation-to-be-used

Feature/164 allow fluentvalidation to be used
Removed the IConfiguration parameter from AddCortexMediator and made the configure parameter non-nullable. This streamlines service registration and eliminates the need to provide a configuration object.
v2.2/bug/161: Refactor AddCortexMediator method signature
Remove windowed stream processing (window operators)

All code related to windowed stream processing—including tumbling, sliding, and session windows—has been removed. This includes the deletion of TumblingWindowOperator, SlidingWindowOperator, SessionWindowOperator, and their supporting types (WindowKey, WindowState, SessionKey, SessionState). All related methods have been removed from IStreamBuilder and StreamBuilder, and references to windowing types have been eliminated. Other stream builder features remain unaffected.
Introduce TumblingWindow, SlidingWindow, and SessionWindow operators with state persistence, thread safety, and telemetry support. Extend stream builder interfaces for fluent windowing. Add WindowResult type and comprehensive unit tests. Refactor and replace old windowing logic for consistency and extensibility.
@eneshoxha eneshoxha added this to the Cortex v3.0 milestone Jan 24, 2026
@eneshoxha eneshoxha self-assigned this Jan 24, 2026
@eneshoxha eneshoxha added enhancement New feature or request feature This label is in use for minor version increments labels Jan 24, 2026
Added ITelemetryEnabled to Branch, Fork, and SinkOperatorAdapter for metrics and tracing. Updated StreamBuilder for telemetry propagation and refactored windowing methods. Introduced TelemetryTests with a mock provider to verify metrics, tracing, and thread safety. Cortex.Tests.csproj now references Cortex.Telemetry. All telemetry features remain optional.
@eneshoxha
eneshoxha merged commit 280f187 into v3.0/release Jan 24, 2026
@eneshoxha
eneshoxha deleted the v3/feature/105 branch January 24, 2026 23:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request feature This label is in use for minor version increments

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Unified Telemetry Integration Across All Cortex Operators [Feature]: Rewrite Window operators

2 participants