Class: Muxr::Application::FramedOutput

Inherits:
Object
  • Object
show all
Defined in:
lib/muxr/application.rb

Overview

Renderer expects an IO-ish sink with #write and #flush. We frame every write as one OUTPUT message on the attached client; nobody attached = bytes go nowhere (and Application skips render entirely in that case, so this path is rarely exercised).

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ FramedOutput

Returns a new instance of FramedOutput.



1146
1147
1148
# File 'lib/muxr/application.rb', line 1146

def initialize(app)
  @app = app
end

Instance Method Details

#flushObject



1155
1156
1157
# File 'lib/muxr/application.rb', line 1155

def flush
  # Unix sockets do not need a Ruby-level flush.
end

#write(bytes) ⇒ Object



1150
1151
1152
1153
# File 'lib/muxr/application.rb', line 1150

def write(bytes)
  @app.deliver_output(bytes)
  bytes.bytesize
end