Exception: FiberStream::RactorPortSourceError

Inherits:
RuntimeError
  • Object
show all
Defined in:
lib/fiber_stream/errors.rb

Overview

Normalized failure raised by ‘Source.ractor_port`.

Producer failures, invalid protocol messages, and source-side Ractor port failures use this stable error shape so callers do not need to depend on Ruby’s Ractor transport exceptions. For producer failures, ‘cause_class_name` and `cause_message` come from the producer’s ‘RactorPort::Failure` envelope and are included in this error’s public message.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(kind:, cause_class_name:, cause_message:, cause: nil) ⇒ RactorPortSourceError

Returns a new instance of RactorPortSourceError.



19
20
21
22
23
24
25
26
# File 'lib/fiber_stream/errors.rb', line 19

def initialize(kind:, cause_class_name:, cause_message:, cause: nil)
  @kind = kind
  @cause_class_name = cause_class_name
  @cause_message = cause_message
  @original_cause = cause

  super("ractor_port #{kind} failure: #{cause_class_name}: #{cause_message}")
end

Instance Attribute Details

#cause_class_nameObject (readonly)

Returns the value of attribute cause_class_name.



17
18
19
# File 'lib/fiber_stream/errors.rb', line 17

def cause_class_name
  @cause_class_name
end

#cause_messageObject (readonly)

Returns the value of attribute cause_message.



17
18
19
# File 'lib/fiber_stream/errors.rb', line 17

def cause_message
  @cause_message
end

#kindObject (readonly)

Returns the value of attribute kind.



17
18
19
# File 'lib/fiber_stream/errors.rb', line 17

def kind
  @kind
end

#original_causeObject (readonly)

Returns the value of attribute original_cause.



17
18
19
# File 'lib/fiber_stream/errors.rb', line 17

def original_cause
  @original_cause
end