Class: DTAS::Pipe

Inherits:
Nonblock show all
Includes:
WritableIter
Defined in:
lib/dtas/pipe.rb

Overview

pipe wrapper for -player sinks

Direct Known Subclasses

PipeNB

Constant Summary

Constants inherited from Nonblock

Nonblock::EX

Instance Attribute Summary collapse

Attributes included from WritableIter

#on_writable, #ready_write

Class Method Summary collapse

Instance Method Summary collapse

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

#sinkObject

Returns the value of attribute sink.



15
16
17
# File 'lib/dtas/pipe.rb', line 15

def sink
  @sink
end

Class Method Details

.newObject



17
18
19
20
21
# File 'lib/dtas/pipe.rb', line 17

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

Returns:

  • (Boolean)


33
34
35
# File 'lib/dtas/pipe.rb', line 33

def nonblock?
  false
end

#pipe_sizeObject



28
29
30
# File 'lib/dtas/pipe.rb', line 28

def pipe_size
  fcntl(SleepyPenguin::F_GETPIPE_SZ)
end

#pipe_size=(nr) ⇒ Object



23
24
25
26
# File 'lib/dtas/pipe.rb', line 23

def pipe_size=(nr)
  defined?(SleepyPenguin::F_SETPIPE_SZ) and
    fcntl(SleepyPenguin::F_SETPIPE_SZ, nr)
end