Sha256: 65d9c650babb2dd5801952a7afb5077d012a22cc3086ce84273a6c3d55ccd8f7

Contents?: true

Size: 1.32 KB

Versions: 5

Compression:

Stored size: 1.32 KB

Contents

module OverSIP::SIP

  class Connection < ::EM::Connection

    include ::OverSIP::Logger
    include ::OverSIP::SIP::MessageProcessor

    class << self
      attr_accessor :ip_type, :ip, :port, :transport,
                    :via_core,
                    :record_route,
                    :outbound_record_route_fragment, :outbound_path_fragment,
                    :connections,
                    :invite_server_transactions, :non_invite_server_transactions,
                    :invite_client_transactions, :non_invite_client_transactions

      def reliable_transport_listener?
        @is_reliable_transport_listener
      end
    end


    attr_reader :cvars

    def initialize
      @parser = ::OverSIP::SIP::MessageParser.new
      @buffer = ::IO::Buffer.new
      @state = :init
      @cvars = {}

      # Set the socket sending error handling to report the error:
      # :ERRORHANDLING_KILL, :ERRORHANDLING_IGNORE, :ERRORHANDLING_REPORT
      self.send_error_handling = :ERRORHANDLING_REPORT
    end

    def receive_senderror error, data
      log_system_error "Socket sending error: #{error.inspect}, #{data.inspect}"
    end

    def transport
      self.class.transport
    end

    def open?
      ! error?
    end

    # close() method causes @local_closed = true.
    alias close close_connection_after_writing
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
oversip-1.2.1 lib/oversip/sip/listeners/connection.rb
oversip-1.2.0 lib/oversip/sip/listeners/connection.rb
oversip-1.1.2 lib/oversip/sip/listeners/connection.rb
oversip-1.1.1 lib/oversip/sip/listeners/connection.rb
oversip-1.1.0 lib/oversip/sip/listeners/connection.rb