Class: DTAS::Pipe
- Includes:
- WritableIter
- Defined in:
- lib/dtas/pipe.rb
Overview
pipe wrapper for -player sinks
Direct Known Subclasses
Constant Summary collapse
- F_SETPIPE_SZ =
1031
- F_GETPIPE_SZ =
1032
Constants inherited from Nonblock
Instance Attribute Summary collapse
-
#sink ⇒ Object
Returns the value of attribute sink.
Attributes included from WritableIter
Class Method Summary collapse
Instance Method Summary collapse
-
#nonblock? ⇒ Boolean
avoid syscall, we never change IO#nonblock= directly.
- #pipe_size=(nr) ⇒ Object
Methods included from WritableIter
#ready_write_optimized?, #wait_writable_prepare, #writable_iter, #writable_iter_init
Methods inherited from Nonblock
#read_nonblock, #write_nonblock
Instance Attribute Details
#sink ⇒ Object
Returns the value of attribute sink.
11 12 13 |
# File 'lib/dtas/pipe.rb', line 11 def sink @sink end |
Class Method Details
.new ⇒ Object
18 19 20 21 22 |
# File 'lib/dtas/pipe.rb', line 18 def self.new _, w = rv = pipe w.writable_iter_init rv end |
Instance Method Details
#nonblock? ⇒ Boolean
avoid syscall, we never change IO#nonblock= directly
37 38 39 |
# File 'lib/dtas/pipe.rb', line 37 def nonblock? false end |
#pipe_size=(nr) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/dtas/pipe.rb', line 24 def pipe_size=(nr) fcntl(F_SETPIPE_SZ, nr) if defined?(F_SETPIPE_SZ) rescue Errno::EINVAL # old kernel rescue Errno::EPERM # resizes fail if Linux is close to the pipe limit for the user # or if the user does not have permissions to resize end |