Sha256: 94e8ae2a4883affe693f4363d781b32784e74a59c00e04d6b516123b6956140e
Contents?: true
Size: 950 Bytes
Versions: 13
Compression:
Stored size: 950 Bytes
Contents
require 'asir/transport/local' require 'thread' module ASIR class Transport # !SLIDE # Thread Transport # # Send one-way Message to a Thread. class Thread < Local # Any object that responds to .new(&blk). # Defaults to ::Thread. attr_accessor :thread_class # Callback: call(self, message, thr). attr_accessor :after_thread_new def initialize *args @thread_class = ::Thread @one_way = true; super end def _send_message message, message_payload thr = thread_class.new do send_result(super, nil, nil) end @after_thread_new.call(self, message, thr) if @after_thread_new thr end # one-way; no Result def _receive_result message, opaque_result end # one-way; no Result def _send_result message, result, result_payload, stream, message_state end end # !SLIDE END end end
Version data entries
13 entries across 13 versions & 1 rubygems