# File lib/em/protocols/saslauth.rb, line 156
156:       def receive_data data
157:         @sasl_data << data
158: 
159:         while @sasl_data.length > 2
160:           len = (@sasl_data[0,2].unpack("n")).first
161:           raise "SASL Max Field Length exceeded" if len > MaxFieldSize
162:           if @sasl_data.length >= (len + 2)
163:             val = @sasl_data[2,len]
164:             @sasl_data.slice!(0...(2+len))
165:             q = @queries.pop
166:             (val == "NO") ? q.fail : q.succeed
167:           else
168:             break
169:           end
170:         end
171:       end