Sha256: bc32b8703fe4db9204999d43e4b4c4378cd371c493c554ed6d27a892d4dbd297
Contents?: true
Size: 755 Bytes
Versions: 3
Compression:
Stored size: 755 Bytes
Contents
# frozen_string_literal: true require_relative '../lib/uringmachine' require 'socket' HOST = ARGV[0] PORT = ARGV[1].to_i machine = UringMachine.new conn_fd = machine.socket(Socket::AF_INET, Socket::SOCK_STREAM, 0, 0); machine.connect(conn_fd, HOST, PORT) stdin_fd = STDIN.fileno stdout_fd = STDOUT.fileno f_writer = Fiber.new do bgidw = machine.setup_buffer_ring(4096, 1024) machine.read_each(stdin_fd, bgidw) do |buf| machine.write(conn_fd, buf) end end machine.schedule(f_writer, nil) f_reader = Fiber.new do bgidr = machine.setup_buffer_ring(4096, 1024) machine.read_each(conn_fd, bgidr) do |buf| machine.write(stdout_fd, buf) end end machine.schedule(f_reader, nil) trap('SIGINT') { exit! } loop do machine.sleep(60) end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
uringmachine-0.5.1 | examples/nc.rb |
uringmachine-0.5 | examples/nc.rb |
uringmachine-0.4 | examples/nc.rb |