Class: GrpcKit::Rpcs::Server::ServerStreamer

Inherits:
GrpcKit::Rpcs::ServerRpc show all
Defined in:
lib/grpc_kit/rpcs/server_server_streamer.rb

Instance Method Summary collapse

Methods inherited from GrpcKit::Rpcs::ServerRpc

#initialize

Constructor Details

This class inherits a constructor from GrpcKit::Rpcs::ServerRpc

Instance Method Details

#invoke(stream, metadata: {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/grpc_kit/rpcs/server_server_streamer.rb', line 9

def invoke(stream, metadata: {})
  call = GrpcKit::Calls::Server::ServerStreamer.new(metadata: , config: @config, stream: stream)

  if @config.interceptor
    @config.interceptor.intercept(call) do |c|
      request = c.recv(last: true)
      @handler.send(@config.ruby_style_method_name, request, c)
    end
  else
    request = call.recv(last: true)
    @handler.send(@config.ruby_style_method_name, request, call)
  end

  stream.send_status
end