class GrpcKit::Call

Constants

Klass
Name
Reciver

Attributes

metadata[R]

@return [Hash<String, String>] gRPC metadata

method[R]

@return [GrpcKit::Call::Name] gRPC method object

method_name[R]

@return [Symbol] gRPC method name

service_name[R]

@return [String] gRPC service name

Public Class Methods

new(stream:, config:, metadata:, timeout: nil) click to toggle source

@param stream [GrpcKit::Stream::ServerStream|GrpcKit::Stream::ClientStream] @param config [GrpcKit::MethodConfig] @param metadata [Hash<String,String>]

# File lib/grpc_kit/call.rb, line 24
def initialize(stream:, config:, metadata:, timeout: nil)
  @config = config
  @metadata = metadata
  @method_name = @config.method_name
  @service_name = @config.service_name
  @codec = @config.codec
  @timeout = timeout
  @stream = stream

  # for compatible
  klass = Klass.new(@service_name)
  @method ||= Name.new(@method_name, Reciver.new(klass))
end

Public Instance Methods

deadline() click to toggle source

@return [Time] deadline of this rpc call

# File lib/grpc_kit/call.rb, line 39
def deadline
  return @deadline if instance_variable_defined?(:@deadline)

  @deadline = @timeout && @timeout.to_absolute_time
end