Sha256: 302a4f38d31a5871f292a82f4d236773b7a1a1f80d2e1ac49d646fa0d13a1038

Contents?: true

Size: 561 Bytes

Versions: 25

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(client1, client2, -1000)
    end
  end
}

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

Fiber.await(f1, f2)

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
polyphony-1.6 examples/io/tcp_proxy.rb
polyphony-1.5 examples/io/tcp_proxy.rb
polyphony-1.4 examples/io/tcp_proxy.rb
polyphony-1.3 examples/io/tcp_proxy.rb
polyphony-1.2.1 examples/io/tcp_proxy.rb
polyphony-1.2 examples/io/tcp_proxy.rb
polyphony-1.1.1 examples/io/tcp_proxy.rb
polyphony-1.1 examples/io/tcp_proxy.rb
polyphony-1.0.2 examples/io/tcp_proxy.rb
polyphony-1.0.1 examples/io/tcp_proxy.rb
polyphony-1.0 examples/io/tcp_proxy.rb
polyphony-0.99.6 examples/io/tcp_proxy.rb
polyphony-0.99.5 examples/io/tcp_proxy.rb
polyphony-0.99.4 examples/io/tcp_proxy.rb
polyphony-0.99.3 examples/io/tcp_proxy.rb
polyphony-0.99.2 examples/io/tcp_proxy.rb
polyphony-0.99.1 examples/io/tcp_proxy.rb
polyphony-0.99 examples/io/tcp_proxy.rb
polyphony-0.98 examples/io/tcp_proxy.rb
polyphony-0.97 examples/io/tcp_proxy.rb