class GrpcKit::Session::Stream

Attributes

headers[R]
inflight[RW]
pending_recv_data[R]
pending_send_data[R]
status[R]
stream_id[RW]
trailer_data[R]

Public Class Methods

new(stream_id:) click to toggle source

@param stream_id [Integer]

# File lib/grpc_kit/session/stream.rb, line 21
def initialize(stream_id:)
  @stream_id = stream_id
  @end_read_stream = false
  @headers = GrpcKit::Session::Headers.new
  @pending_send_data = GrpcKit::Session::SendBuffer.new
  @pending_recv_data = GrpcKit::Session::RecvBuffer.new

  @inflight = false
  @trailer_data = {}
  @status = GrpcKit::Session::StreamStatus.new
  @draining = false
end

Public Instance Methods

add_header(name, value) click to toggle source

@param name [String] @param value [String] @return [void]

# File lib/grpc_kit/session/stream.rb, line 70
def add_header(name, value)
  @headers.add(name, value)
end
close() click to toggle source
# File lib/grpc_kit/session/stream.rb, line 76
def close
  status.close
  pending_recv_data.close
end
close_remote() click to toggle source
# File lib/grpc_kit/session/stream.rb, line 81
def close_remote
  status.close_remote
  pending_recv_data.close
end
drain() click to toggle source

@return [void]

# File lib/grpc_kit/session/stream.rb, line 43
def drain
  @draining = true
end
end_read() click to toggle source
# File lib/grpc_kit/session/stream.rb, line 38
def end_read
  @pending_recv_data.end_read
end
end_write() click to toggle source
# File lib/grpc_kit/session/stream.rb, line 34
def end_write
  @pending_send_data.end_write
end
read_recv_data(last: false, blocking:) click to toggle source

@param last [Boolean] @param blocking [Boolean] @return [void]

# File lib/grpc_kit/session/stream.rb, line 63
def read_recv_data(last: false, blocking:)
  @pending_recv_data.read(last: last, blocking: blocking)
end
write_send_data(data, last: false) click to toggle source

@param data [String] @param last [Boolean] @return [void]

# File lib/grpc_kit/session/stream.rb, line 56
def write_send_data(data, last: false)
  @pending_send_data.write(data, last: last)
end
write_trailers_data(tarilers) click to toggle source

@param tarilers [Hash<String,String>] @return [void]

# File lib/grpc_kit/session/stream.rb, line 49
def write_trailers_data(tarilers)
  @trailer_data = tarilers
end