module Channel::SelectAction(S)

Defined in:

channel.cr

Instance Method Summary

Instance Method Detail

def create_context_and_wait(shared_state) #

[View source]
def default_result #

Implementor that returns Channel::UseDefault in #execute must redefine #default_result


[View source]
abstract def execute : DeliveryState #

[View source]
abstract def lock #

[View source]
abstract def lock_object_id #

[View source]
abstract def result : S #

[View source]
abstract def unlock #

[View source]
def unwait(context : SelectContext(S)) #

[View source]
def unwait(context : SelectContext) #

idem wait_result/wait_result_impl


[View source]
abstract def unwait_impl(context : SelectContext(S)) #

[View source]
abstract def wait(context : SelectContext(S)) #

[View source]
def wait_result(context : SelectContext(S)) #

[View source]
def wait_result(context : SelectContext) #

wait_result overload allow implementors to define wait_result_impl with the right type and Channel.select_impl to allow dispatching over unions that will not happen


[View source]
abstract def wait_result_impl(context : SelectContext(S)) #

[View source]