# File lib/network/protocol/protocolstack.rb, line 38
  def initialize(conn)
    @conn = conn
    @server = @conn.server
    @filters = []  # Filter order is critical as lowest level protocol is first.
    if @server.service_filters.include? :debugfilter
      @filters << DebugFilter.new(self)
    end
    if @server.service_filters.include? :telnetfilter
      @filters << TelnetFilter.new(self,@server)
    end
    if @server.service_filters.include? :terminalfilter
      @filters << TerminalFilter.new(self)
    end
    if @server.service_filters.include? :colorfilter
      @filters << ColorFilter.new(self)
    end
    if @server.service_filters.include? :filter
      @filters << Filter.new(self)
    end

    # Shared variables to facilitate inter-filter communication.
    @sga_on = false
    @echo_on = false
    @binary_on = false
    @zmp_on = false
    @eorec_on = false
    @color_on = false
    @urgent_on = false
    @hide_on = false
    @terminal = nil
    @twidth = 80
    @theight = 23
  end