class GRPC::BidiCall(Req, Res)

Overview

BidiCall(Req, Res) is the client handle for a bidirectional streaming RPC. The client sends and receives messages concurrently.

Example: call = client.chat spawn do messages.each { |msg| call.send(msg) } call.close_send end call.each { |reply| pp reply }

Included Modules

Defined in:

grpc/stream.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(send_proc : Req -> _, close_proc : -> _, recv_chan : ::Channel(Exception | Res), headers_proc : -> Metadata = -> do Metadata.new end, status_proc : -> Status = -> do Status.ok end, trailers_proc : -> Metadata = -> do Metadata.new end, cancel_proc : -> Nil = -> do end) #

[View source]

Instance Method Detail

def cancel : Nil #

[View source]
def close_send : Nil #

close_send signals the end of the client's request stream.


[View source]
def each(& : Res -> ) : Nil #
Description copied from module Enumerable(Res)

Must yield this collection's elements to the block.


[View source]
def headers : Metadata #

[View source]
def send(message : Req) : Nil #

send transmits a request message to the server.


[View source]
def status : Status #

[View source]
def trailers : Metadata #

[View source]