Class: Liebre::Actor::RPC::Client

Inherits:
Object
  • Object
show all
Includes:
Concurrent::Async
Defined in:
lib/liebre/actor/rpc/client.rb,
lib/liebre/actor/rpc/client/core.rb,
lib/liebre/actor/rpc/client/task.rb,
lib/liebre/actor/rpc/client/pending.rb,
lib/liebre/actor/rpc/client/reporter.rb,
lib/liebre/actor/rpc/client/resources.rb

Defined Under Namespace

Classes: Core, Pending, Reporter, Resources, Task

Constant Summary collapse

TIMEOUT =
5

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ Client

Returns a new instance of Client.



17
18
19
20
21
# File 'lib/liebre/actor/rpc/client.rb', line 17

def initialize context
  super()

  @context = context
end

Instance Method Details

#__clean__Object



57
58
59
# File 'lib/liebre/actor/rpc/client.rb', line 57

def __clean__()
  reporter.on_clean { core.clean() }
end

#__expire__Object



53
54
55
# File 'lib/liebre/actor/rpc/client.rb', line 53

def __expire__()
  reporter.on_expire { core.expire() }
end

#__reply__(meta, response) ⇒ Object



49
50
51
# File 'lib/liebre/actor/rpc/client.rb', line 49

def __reply__(meta, response)
  reporter.on_reply { core.reply(meta, response) }
end

#__request__(payload, opts, timeout) ⇒ Object



45
46
47
# File 'lib/liebre/actor/rpc/client.rb', line 45

def __request__(payload, opts, timeout)
  reporter.on_request { core.request(payload, opts, timeout) }
end

#__start__Object



38
39
40
# File 'lib/liebre/actor/rpc/client.rb', line 38

def __start__()
  reporter.on_start { core.start }
end

#__stop__Object



41
42
43
# File 'lib/liebre/actor/rpc/client.rb', line 41

def __stop__()
  reporter.on_stop { core.stop }
end

#cleanObject



36
# File 'lib/liebre/actor/rpc/client.rb', line 36

def clean() async.__clean__(); end

#expireObject



34
# File 'lib/liebre/actor/rpc/client.rb', line 34

def expire() async.__expire__(); end

#reply(meta, response) ⇒ Object



32
# File 'lib/liebre/actor/rpc/client.rb', line 32

def reply(meta, response) async.__reply__(meta, response); end

#request(payload, opts = {}, timeout = TIMEOUT) ⇒ Object



26
27
28
29
30
31
# File 'lib/liebre/actor/rpc/client.rb', line 26

def request payload, opts = {}, timeout = TIMEOUT
  call_ivar     = await.__request__(payload, opts, timeout)
  response_ivar = call_ivar.value

  response_ivar.value(timeout)
end

#startObject



23
# File 'lib/liebre/actor/rpc/client.rb', line 23

def start() async.__start__(); end

#stopObject



24
# File 'lib/liebre/actor/rpc/client.rb', line 24

def stop()  async.__stop__();  end