Class: Cql::Io::Unblocker
- Inherits:
-
Object
- Object
- Cql::Io::Unblocker
- Defined in:
- lib/cql/io/io_reactor.rb
Instance Method Summary collapse
- #close ⇒ Object
- #closed? ⇒ Boolean
- #connected? ⇒ Boolean
- #connecting? ⇒ Boolean
-
#initialize ⇒ Unblocker
constructor
A new instance of Unblocker.
- #read ⇒ Object
- #to_io ⇒ Object
- #to_s ⇒ Object
- #unblock! ⇒ Object
- #writable? ⇒ Boolean
Constructor Details
#initialize ⇒ Unblocker
Returns a new instance of Unblocker.
215 216 217 218 |
# File 'lib/cql/io/io_reactor.rb', line 215 def initialize @out, @in = IO.pipe @lock = Mutex.new end |
Instance Method Details
#close ⇒ Object
246 247 248 249 250 251 |
# File 'lib/cql/io/io_reactor.rb', line 246 def close @in.close @out.close @in = nil @out = nil end |
#closed? ⇒ Boolean
232 233 234 |
# File 'lib/cql/io/io_reactor.rb', line 232 def closed? @in.nil? end |
#connected? ⇒ Boolean
220 221 222 |
# File 'lib/cql/io/io_reactor.rb', line 220 def connected? true end |
#connecting? ⇒ Boolean
224 225 226 |
# File 'lib/cql/io/io_reactor.rb', line 224 def connecting? false end |
#read ⇒ Object
242 243 244 |
# File 'lib/cql/io/io_reactor.rb', line 242 def read @out.read_nonblock(2**16) end |
#to_io ⇒ Object
253 254 255 |
# File 'lib/cql/io/io_reactor.rb', line 253 def to_io @out end |
#to_s ⇒ Object
257 258 259 |
# File 'lib/cql/io/io_reactor.rb', line 257 def to_s %(#<#{self.class.name}>) end |
#unblock! ⇒ Object
236 237 238 239 240 |
# File 'lib/cql/io/io_reactor.rb', line 236 def unblock! @lock.synchronize do @in.write(PING_BYTE) end end |
#writable? ⇒ Boolean
228 229 230 |
# File 'lib/cql/io/io_reactor.rb', line 228 def writable? false end |