         # File lib/protocols/saslauth.rb, line 93
     93:                         def receive_data data
     94:                                 @sasl_data << data
     95:                                 while @sasl_data.length >= 2
     96:                                         len = (@sasl_data[0,2].unpack("n")).first
     97:                                         raise "SASL Max Field Length exceeded" if len > MaxFieldSize
     98:                                         if @sasl_data.length >= (len + 2)
     99:                                                 @sasl_values << @sasl_data[2,len]
    100:                                                 @sasl_data.slice!(0...(2+len))
    101:                                                 if @sasl_values.length == 4
    102:                                                         send_data( validate(*@sasl_values) ? "\0\002OK" : "\0\002NO" )
    103:                                                         @sasl_values.clear
    104:                                                 end
    105:                                         else
    106:                                                 break
    107:                                         end
    108:                                 end
    109:                         end