call method

  1. @override
Future<O?> call({
  1. required covariant C cell,
  2. required covariant I signal,
  3. Set<Cell>? notified,
})
override

Processes a signal through the receptor pipeline.

Execution flow:

  1. Validates signal against cell's TestObject
  2. Applies transformation if provided
  3. Propagates output to synapses
  4. Handles errors gracefully

Parameters:

  • cell: The processing cell (required)
  • signal: Input signal (required)
  • notified: Tracks propagation to prevent loops

Sync Receptor returns a O? the output signal or null if processing fails. Async Receptor returns a Future<O?> for asynchronous processing.

Implementation

@override
Future<O?> call({required covariant C cell, required covariant I signal, Set<Cell>? notified}) async {
  return Future<O?>(() => _receptor(cell: cell, signal: signal, notified: notified));
}