Sha256: 6e263d874ca8944fe8b782c1ea1ab5995be96bdd3f796bc55f92b9f9b0393787

Contents?: true

Size: 995 Bytes

Versions: 40

Compression:

Stored size: 995 Bytes

Contents

module EventMachine

  # Fast method for setting an outgoing TCP connection.
  def self.oversip_connect_tcp_server bind_addr, server, port, klass, *args
    s = bind_connect_server bind_addr, 0, server, port
    c = klass.new s, *args
    @conns[s] = c
    block_given? and yield c
    c
  end


  class Connection

    # We require Ruby 1.9 so don't check String#bytesize method.
    def send_data data
      ::EventMachine::send_data @signature, data, data.bytesize
    end

    def send_datagram data, address, port
      ::EventMachine::send_datagram @signature, data, data.bytesize, address, port
    end

    # Rewrite close_connection so it set an internal attribute (which can be
    # inspected when unbind() callback is called).
    alias _em_close_connection close_connection
    def close_connection after_writing=false
      @local_closed = true
      _em_close_connection after_writing
    end

    def close_connection_after_writing
      close_connection true
    end

  end

end

Version data entries

40 entries across 40 versions & 2 rubygems

Version Path
oversip_p-1.0.2 lib/oversip/ruby_ext/eventmachine.rb
oversip_p-1.0.0 lib/oversip/ruby_ext/eventmachine.rb
oversip-2.0.4 lib/oversip/ruby_ext/eventmachine.rb
oversip-2.0.3 lib/oversip/ruby_ext/eventmachine.rb
oversip-2.0.2 lib/oversip/ruby_ext/eventmachine.rb
oversip-2.0.1 lib/oversip/ruby_ext/eventmachine.rb
oversip-2.0.0 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.4.1 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.4.0 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.3.8 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.3.7 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.3.6 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.3.5 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.3.3 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.3.2 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.3.1 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.3.0 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.3.0.dev1 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.2.1 lib/oversip/ruby_ext/eventmachine.rb
oversip-1.2.0 lib/oversip/ruby_ext/eventmachine.rb