Skip to content

Phase 2: Interface Unification (Logger & Executor)#12

Merged
kcenon merged 5 commits into
mainfrom
feature/phase2-interface-unification
Oct 2, 2025
Merged

Phase 2: Interface Unification (Logger & Executor)#12
kcenon merged 5 commits into
mainfrom
feature/phase2-interface-unification

Conversation

@kcenon

@kcenon kcenon commented Oct 2, 2025

Copy link
Copy Markdown
Owner

Summary

Phase 2 Interface Unification - Part 1 (Logger & Executor)

This PR implements Task 2.1 and Task 2.2 of Phase 2, unifying logger and executor interfaces across all systems.

Changes

Task 2.1: Logger Interface Unification

  • Extended ILogger interface with ILoggerRegistry for named logger management
  • Added logger_config structure for advanced configuration
  • Enhanced from_string() with case-insensitive parsing
  • Added support for WARN and FATAL log level aliases

Task 2.2: Executor Interface Unification

  • Added IJob interface for better task control and testability
  • Extended IExecutor with job-based execution methods
  • Added execute() and execute_delayed() with Result<std::future<void>> returns
  • Maintained backward compatibility with function-based submit() methods

Impact

  • Breaking Changes: None (deprecations only)
  • Systems Affected: common_system, thread_system, logger_system
  • Migration: See NEED_TO_FIX.md for migration guides

Testing

  • All interface extensions are backward compatible
  • Existing code continues to work with deprecation warnings
  • New interfaces follow Result pattern for better error handling

Documentation

  • Updated NEED_TO_FIX.md with completion status
  • Added inline migration guides in deprecated interfaces
  • Documented Phase 3 removal timeline for deprecated features

Related PRs

  • thread_system: Phase 2 Interface Unification (Logger & Executor)
  • logger_system: Phase 2 Interface Unification (Logger)

kcenon added 3 commits October 2, 2025 20:53
- Add logger_config structure for advanced logger configuration
- Add ILoggerRegistry interface for named logger management
- Enhance from_string() to support case-insensitive parsing
- Add support for WARN and FATAL aliases

Phase 2 Task 2.1.1: Logger Interface Unification
- Add IJob interface for better task control and testability
- Add execute() and execute_delayed() methods with Result<T> returns
- Keep legacy submit() methods for backward compatibility
- Add job priority and naming support

Phase 2 Task 2.2.1: Executor Interface Unification
- Mark Logger Interface Unification as completed
- Mark Executor Interface Unification as completed
- Update critical issues overview
- Document Phase 2 partial completion status
kcenon added 2 commits October 2, 2025 21:33
…utor

- Add job-based execution methods to satisfy IExecutor interface
- Add calculation_job example class implementing IJob
- Add Example 7 demonstrating job-based execution
- Fixes CI build errors (abstract class instantiation)

Resolves: executor_example.cpp compilation errors
- Use is_ok(), is_error(), get_value(), get_error() helpers
- Convert unique_ptr to shared_ptr for lambda capture
- Fixes copy-constructible requirement for std::function
- Fixes operator! and .error() usage on Result<T>

Resolves: CI compilation errors with Result<T> API
@kcenon kcenon merged commit bb8ca26 into main Oct 2, 2025
5 checks passed
@kcenon kcenon deleted the feature/phase2-interface-unification branch October 2, 2025 12:42
kcenon added a commit that referenced this pull request Apr 13, 2026
* feat(phase2): extend ILogger interface with ILoggerRegistry

- Add logger_config structure for advanced logger configuration
- Add ILoggerRegistry interface for named logger management
- Enhance from_string() to support case-insensitive parsing
- Add support for WARN and FATAL aliases

Phase 2 Task 2.1.1: Logger Interface Unification

* feat(phase2): extend IExecutor with job-based execution

- Add IJob interface for better task control and testability
- Add execute() and execute_delayed() methods with Result<T> returns
- Keep legacy submit() methods for backward compatibility
- Add job priority and naming support

Phase 2 Task 2.2.1: Executor Interface Unification

* docs(phase2): update NEED_TO_FIX.md with Task 2.1 & 2.2 completion

- Mark Logger Interface Unification as completed
- Mark Executor Interface Unification as completed
- Update critical issues overview
- Document Phase 2 partial completion status

* fix(examples): implement execute() and execute_delayed() in mock_executor

- Add job-based execution methods to satisfy IExecutor interface
- Add calculation_job example class implementing IJob
- Add Example 7 demonstrating job-based execution
- Fixes CI build errors (abstract class instantiation)

Resolves: executor_example.cpp compilation errors

* fix(examples): use Result<T> helper functions correctly

- Use is_ok(), is_error(), get_value(), get_error() helpers
- Convert unique_ptr to shared_ptr for lambda capture
- Fixes copy-constructible requirement for std::function
- Fixes operator! and .error() usage on Result<T>

Resolves: CI compilation errors with Result<T> API
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