Sha256: 683bddf19d9566cd51a1f77ba51af2c88e8a9a1c7eead1814f1bcd45e5202e6e

Contents?: true

Size: 684 Bytes

Versions: 3

Compression:

Stored size: 684 Bytes

Contents

module Nucleus
  class StreamCallback
    include Nucleus::Logging

    attr_accessor :closed

    def initialize(stream)
      @stream = stream
      @closed = false
    end

    # Send a message via the stream to the client
    # @param [String] message content to send to the client
    def send_message(message)
      log.debug "New streamed message part: #{message}"
      @stream.chunk message
    end

    # Close the stream
    # @return [void]
    def close
      log.debug 'Close API stream, invoked by adapter callback'
      # close API stream of the Rack server unless it was already closed
      @stream.close unless @closed
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nucleus-0.3.1 lib/nucleus/core/common/stream_callback.rb
nucleus-0.2.0 lib/nucleus/core/common/stream_callback.rb
nucleus-0.1.0 lib/nucleus/core/common/stream_callback.rb