Class: MarchHare::Session::BlockBlockedUnblockedListener

Inherits:
Object
  • Object
show all
Defined in:
lib/march_hare/session.rb

Overview

Ruby blocks-based BlockedListener that handles connection.blocked and connection.unblocked.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(on_blocked, on_unblocked) ⇒ BlockBlockedUnblockedListener

Returns a new instance of BlockBlockedUnblockedListener.



432
433
434
435
# File 'lib/march_hare/session.rb', line 432

def initialize(on_blocked, on_unblocked)
  @blocked   = on_blocked
  @unblocked = on_unblocked
end

Class Method Details

.for_blocked(block) ⇒ Object



414
415
416
# File 'lib/march_hare/session.rb', line 414

def self.for_blocked(block)
  new(block, noop_fn1)
end

.for_unblocked(block) ⇒ Object



418
419
420
# File 'lib/march_hare/session.rb', line 418

def self.for_unblocked(block)
  new(noop_fn0, block)
end

.noop_fn0Object

Returns a no-op function of arity 0.



423
424
425
# File 'lib/march_hare/session.rb', line 423

def self.noop_fn0
  Proc.new {}
end

.noop_fn1Object

Returns a no-op function of arity 1.



428
429
430
# File 'lib/march_hare/session.rb', line 428

def self.noop_fn1
  Proc.new { |_| }
end

Instance Method Details

#handle_blocked(reason) ⇒ Object



437
438
439
# File 'lib/march_hare/session.rb', line 437

def handle_blocked(reason)
  @blocked.call(reason)
end

#handle_unblockedObject



441
442
443
# File 'lib/march_hare/session.rb', line 441

def handle_unblocked()
  @unblocked.call()
end