Class: GrpcKit::Session::ControlQueue
- Inherits:
-
Object
- Object
- GrpcKit::Session::ControlQueue
- Defined in:
- lib/grpc_kit/session/control_queue.rb
Instance Method Summary collapse
-
#initialize ⇒ ControlQueue
constructor
A new instance of ControlQueue.
-
#pop ⇒ Object
Be nonblocking.
- #resume_data(id) ⇒ Object
- #submit_headers(id, headers) ⇒ Object
- #submit_response(id, headers) ⇒ Object
Constructor Details
#initialize ⇒ ControlQueue
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
#pop ⇒ Object
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 |