Class: GrpcKit::Session::ControlQueue

Inherits:
Object
  • Object
show all
Defined in:
lib/grpc_kit/session/control_queue.rb

Instance Method Summary collapse

Constructor Details

#initializeControlQueue

Returns a new instance of ControlQueue.



6
7
8
# File 'lib/grpc_kit/session/control_queue.rb', line 6

def initialize
  @event_stream = Queue.new
end

Instance Method Details

#popObject

Be nonblocking



11
12
13
14
15
16
17
18
19
# File 'lib/grpc_kit/session/control_queue.rb', line 11

def pop
  if @event_stream.empty?
    nil
  else
    @event_stream.pop(true)
  end
rescue ThreadError => _
  nil
end

#resume_data(id) ⇒ Object



29
30
31
# File 'lib/grpc_kit/session/control_queue.rb', line 29

def resume_data(id)
  @event_stream.push([:resume_data, id])
end

#submit_headers(id, headers) ⇒ Object



25
26
27
# File 'lib/grpc_kit/session/control_queue.rb', line 25

def submit_headers(id, headers)
  @event_stream.push([:submit_headers, id, headers])
end

#submit_response(id, headers) ⇒ Object



21
22
23
# File 'lib/grpc_kit/session/control_queue.rb', line 21

def submit_response(id, headers)
  @event_stream.push([:submit_response, id, headers])
end