# File lib/em/protocols/saslauth.rb, line 91
      def receive_data data
        @sasl_data << data
        while @sasl_data.length >= 2
          len = (@sasl_data[0,2].unpack("n")).first
          raise "SASL Max Field Length exceeded" if len > MaxFieldSize
          if @sasl_data.length >= (len + 2)
            @sasl_values << @sasl_data[2,len]
            @sasl_data.slice!(0...(2+len))
            if @sasl_values.length == 4
              send_data( validate(*@sasl_values) ? "\0\002OK" : "\0\002NO" )
              @sasl_values.clear
            end
          else
            break
          end
        end
      end