Skip to content
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

[HID-API] Introducing the DataProcessingFilter API as a part of the pipe and filter architecture #38

Open
pavly-gerges opened this issue May 18, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@pavly-gerges
Copy link
Member

According to the data-pipe architectural model, it's stated from the functional requirements to build a successful API, that the data transforming components could be Preprocessing filters, which entails components that are bound to the receiving procedural interface (e.g., data decryptors, and data decoders), and Postprocessing filters, which entails components that are bound to the transmitting procedural interface (e.g., data encryptors, and data encoders).

Concurrency, through the process/thread view of the design analysis, should be considered, and it will become handy to use Jector.

The HID-API should provide the following to achieve this:

  • DataProcessingFilter interface: encapsulating filter properties (e.g., name of executing thread), and other meta-data.
  • DataFilterListener interface: provides a standard strategy pattern for the data filter components.
  • Incorporate the TaskExecutorManager from Jector-API in the HID-API; to execute filters as tasks on pre-defined threads if existing or create a new thread pool to execute data filters.
  • PreprocessingFilter interface (optional if a specific usage is attained).
  • PostprocessingFilter interface (optional if a specific usage is attained).

Note: Data filters could be also designated as PretransmissionFilters and PostreceiveFilters.

@pavly-gerges pavly-gerges added the enhancement New feature or request label May 18, 2024
@pavly-gerges pavly-gerges transferred this issue from Electrostat-Lab/Serial4j Sep 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant