class GrpcKit::Rpcs::Server::BidiStreamer

Public Instance Methods

invoke(stream, metadata: {}) click to toggle source

@param stream [GrpcKit::Stream::ServerStream] @param metadata [Hash<String, String>] @return [void]

# File lib/grpc_kit/rpcs/server_bidi_streamer.rb, line 12
def invoke(stream, metadata: {})
  call = GrpcKit::Calls::Server::BidiStreamer.new(
    metadata: metadata,
    config: @config,
    stream: stream,
  )

  if @config.interceptor
    @config.interceptor.intercept(call) do |c|
      @handler.send(@config.ruby_style_method_name, c)
    end
  else
    @handler.send(@config.ruby_style_method_name, call)
  end

  stream.send_status
end