Sha256: 62a61692ceb331154ac2b9cec4b024be8877b20c9f3991c0e8640a265fb72fb8

Contents?: true

Size: 590 Bytes

Versions: 1

Compression:

Stored size: 590 Bytes

Contents

require_relative 'base'

module RightSpeed
  module Worker
    class Accepter < Base
      def configure(sock)
        @sock = sock
      end

      def run
        @ractor = Ractor.new(@id, @sock) do |id, sock|
          while conn = sock.accept
            begin
              data = conn.read
              # TODO: process it
              logger.info "[read|#{id}] Data: #{data}"
              conn.write "200 OK"
            ensure
              conn.close rescue nil
            end
          end
        end
      end

      def wait
        @ractor.take
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
right_speed-0.1.0 lib/right_speed/worker/accepter.rb