Class: EchoService

Inherits:
Object
  • Object
show all
Includes:
GRPC::GenericService
Defined in:
src/ruby/spec/support/services.rb

Overview

A test service with an echo implementation.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from GRPC::GenericService

included, underscore

Constructor Details

#initialize(**kw) ⇒ EchoService

Returns a new instance of EchoService.



38
39
40
41
# File 'src/ruby/spec/support/services.rb', line 38

def initialize(**kw)
  @trailing_metadata = kw
  @received_md = []
end

Instance Attribute Details

#received_mdObject (readonly)

Returns the value of attribute received_md.



36
37
38
# File 'src/ruby/spec/support/services.rb', line 36

def received_md
  @received_md
end

Instance Method Details

#a_bidi_rpc(requests, call) ⇒ Object



62
63
64
65
66
# File 'src/ruby/spec/support/services.rb', line 62

def a_bidi_rpc(requests, call)
  call..update(@trailing_metadata)
  requests.each { |r| p r }
  [EchoMsg.new, EchoMsg.new]
end

#a_client_streaming_rpc(call) ⇒ Object



50
51
52
53
54
55
# File 'src/ruby/spec/support/services.rb', line 50

def a_client_streaming_rpc(call)
  # iterate through requests so call can complete
  call..update(@trailing_metadata)
  call.each_remote_read.each { |r| p r }
  EchoMsg.new
end

#a_server_streaming_rpc(_req, call) ⇒ Object



57
58
59
60
# File 'src/ruby/spec/support/services.rb', line 57

def a_server_streaming_rpc(_req, call)
  call..update(@trailing_metadata)
  [EchoMsg.new, EchoMsg.new]
end

#an_rpc(req, call) ⇒ Object



43
44
45
46
47
48
# File 'src/ruby/spec/support/services.rb', line 43

def an_rpc(req, call)
  GRPC.logger.info('echo service received a request')
  call..update(@trailing_metadata)
  @received_md << call. unless call..nil?
  req
end