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.



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

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

Instance Attribute Details

#received_mdObject (readonly)

Returns the value of attribute received_md.



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

def received_md
  @received_md
end

Instance Method Details

#a_bidi_rpc(requests, call) ⇒ Object



65
66
67
68
69
70
71
# File 'src/ruby/spec/support/services.rb', line 65

def a_bidi_rpc(requests, call)
  call..update(@trailing_metadata)
  requests.each do |r|
    GRPC.logger.info(r)
  end
  [EchoMsg.new, EchoMsg.new]
end

#a_client_streaming_rpc(call) ⇒ Object



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

def a_client_streaming_rpc(call)
  # iterate through requests so call can complete
  call..update(@trailing_metadata)
  call.each_remote_read.each do |r|
    GRPC.logger.info(r)
  end
  EchoMsg.new
end

#a_server_streaming_rpc(_req, call) ⇒ Object



60
61
62
63
# File 'src/ruby/spec/support/services.rb', line 60

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

#an_rpc(req, call) ⇒ Object



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

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