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