Sha256: 555f1d28a2d7a6e02a6728d8f14a5e3e29c6e686e488034f3b1cf0a3c8efd8e3

Contents?: true

Size: 561 Bytes

Versions: 44

Compression:

Stored size: 561 Bytes

Contents

# frozen_string_literal: true

require 'bundler/setup'
require 'polyphony'

server1 = TCPServer.open('127.0.0.1', 1234)
server2 = TCPServer.open('127.0.0.1', 1235)

puts "Pid: #{Process.pid}"
puts 'Proxying port 1234 => port 1235'

client1 = client2 = nil

f1 = spin {
  client1 = server1.accept
  loop do
    if client2
      Thread.current.backend.splice_to_eof(client1, client2)
    end
  end
}

f2 = spin {
  client2 = server2.accept
  loop do
    if client1
      Thread.current.backend.splice_to_eof(client2, client1)
    end
  end
}

Fiber.await(f1, f2)

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
polyphony-0.91 examples/io/tcp_proxy.rb
polyphony-0.90 examples/io/tcp_proxy.rb
polyphony-0.89 examples/io/tcp_proxy.rb
polyphony-0.87 examples/io/tcp_proxy.rb
polyphony-0.86 examples/io/tcp_proxy.rb
polyphony-0.85 examples/io/tcp_proxy.rb
polyphony-0.84.1 examples/io/tcp_proxy.rb
polyphony-0.84 examples/io/tcp_proxy.rb
polyphony-0.83 examples/io/tcp_proxy.rb
polyphony-0.82 examples/io/tcp_proxy.rb
polyphony-0.81.1 examples/io/tcp_proxy.rb
polyphony-0.81 examples/io/tcp_proxy.rb
polyphony-0.80 examples/io/tcp_proxy.rb
polyphony-0.79 examples/io/tcp_proxy.rb
polyphony-0.78 examples/io/tcp_proxy.rb
polyphony-0.77 examples/io/tcp_proxy.rb
polyphony-0.76 examples/io/tcp_proxy.rb
polyphony-0.75 examples/io/tcp_proxy.rb
polyphony-0.74 examples/io/tcp_proxy.rb
polyphony-0.73.1 examples/io/tcp_proxy.rb