Class: CDC::Core::Processor
- Inherits:
-
Object
- Object
- CDC::Core::Processor
- Defined in:
- lib/cdc/core/processor.rb
Overview
Base class for CDC event processors.
Subclasses implement #process and may opt into Ractor-safe execution by calling .ractor_safe!. cdc-core itself does not schedule Ractors; it only records processor capabilities for runtime layers such as cdc-ractor.
Direct Known Subclasses
Class Method Summary collapse
-
.ractor_safe! ⇒ true
Mark this processor class as safe to execute in Ractor-aware runtimes.
-
.ractor_safe? ⇒ Boolean
Whether this processor class has declared Ractor safety.
Instance Method Summary collapse
-
#process(_event) ⇒ Object
Process one event.
-
#ractor_safe? ⇒ Boolean
Whether this processor instance is Ractor-safe.
Class Method Details
.ractor_safe! ⇒ true
Mark this processor class as safe to execute in Ractor-aware runtimes.
14 15 16 |
# File 'lib/cdc/core/processor.rb', line 14 def self.ractor_safe! @ractor_safe = true end |
.ractor_safe? ⇒ Boolean
Whether this processor class has declared Ractor safety.
21 22 23 |
# File 'lib/cdc/core/processor.rb', line 21 def self.ractor_safe? @ractor_safe == true end |
Instance Method Details
#process(_event) ⇒ Object
Process one event.
Subclasses must override this method.
38 39 40 |
# File 'lib/cdc/core/processor.rb', line 38 def process(_event) raise NotImplementedError, "#{self.class} must implement #process" end |
#ractor_safe? ⇒ Boolean
Whether this processor instance is Ractor-safe.
28 29 30 |
# File 'lib/cdc/core/processor.rb', line 28 def ractor_safe? self.class.ractor_safe? end |