Skip to content

Conversation

@qqeasonchen
Copy link
Contributor

No description provided.

qqeasonchen and others added 9 commits December 24, 2025 11:08
… EgressProcessor

- Introduced IngressProcessor (Filter -> Transformer -> Router) and EgressProcessor (Filter -> Transformer) to centralize pipeline logic.
- Refactored ClientGroupWrapper (TCP SDK) to use these processors.
- Refactored EventMeshConnectorBootstrap (Connectors) to use these processors.
- Updated SinkWorker to support embedded mode for unified runtime execution.
- Updated Unified Runtime Design documentation to reflect architectural clarity.
…ine architecture

This commit completes the migration of all HTTP and gRPC protocol processors to use
the unified IngressProcessor and EgressProcessor pipeline architecture, ensuring
consistent Filter-Transformer-Router processing across all protocols.

Changes:
- HTTP Processors (5): Migrated SendAsyncMessageProcessor, SendSyncMessageProcessor,
  BatchSendMessageProcessor, BatchSendMessageV2Processor, and refactored
  SendAsyncEventProcessor to use IngressProcessor
- gRPC Processors (3): Migrated PublishCloudEventsProcessor,
  BatchPublishCloudEventProcessor, and RequestCloudEventProcessor with bidirectional
  pipeline support (Ingress for requests, Egress for responses)
- Added BatchProcessResult utility class to track success/filtered/failed counts for
  batch processing with detailed statistics
- Added comprehensive unit tests: IngressProcessorTest, EgressProcessorTest,
  BatchProcessResultTest, and enhanced SendAsyncEventProcessorTest
- Added IngressProcessor and EgressProcessor getters to EventMeshServer and
  EventMeshGrpcServer for cross-module access
- Updated design documentation (unified-runtime-design.md) to reflect the new
  architecture and migration status
- Updated configuration guide (core-engines-configuration.md) with pipeline key format

Architecture improvements:
- Unified pipeline key format: {producerGroup}-{topic}
- Consistent filter behavior: filtered messages return SUCCESS status
  (except request-reply returns error)
- Router support: topic changes tracked with finalTopic variable
- Batch statistics: detailed success/filtered/failed counts with message IDs
- Bidirectional processing: RequestCloudEventProcessor applies Ingress to requests
  and Egress to responses

All tests pass with no regressions.
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.

1 participant