class GrpcKit::Calls::Server::BidiStreamer

Attributes

outgoing_initial_metadata[R]
outgoing_trailing_metadata[R]

Public Class Methods

new(**) click to toggle source
Calls superclass method GrpcKit::Call::new
# File lib/grpc_kit/calls/server_bidi_streamer.rb, line 14
def initialize(**)
  super

  @outgoing_initial_metadata = {}
  @outgoing_trailing_metadata = {}
end

Public Instance Methods

each() { |recv| ... } click to toggle source

@yieldparam response [Object] each response object of bidi streaming RPC

# File lib/grpc_kit/calls/server_bidi_streamer.rb, line 40
def each
  loop { yield(recv) }
end
recv() click to toggle source

This method is not thread safe, never call from multiple threads at once. @return [Object] response object

# File lib/grpc_kit/calls/server_bidi_streamer.rb, line 35
def recv
  @stream.recv_msg(@codec, limit_size: @config.max_receive_message_size)
end
send_msg(data) click to toggle source

@param data [Object] request message @return [void]

# File lib/grpc_kit/calls/server_bidi_streamer.rb, line 23
def send_msg(data)
  @stream.send_msg(
    data,
    @codec,
    initial_metadata: @outgoing_initial_metadata,
    trailing_metadata: @outgoing_trailing_metadata,
    limit_size: @config.max_send_message_size,
  )
end