# File lib/em/protocols/smtpserver.rb, line 424
424:       def process_data_line ln
425:         if ln == "."
426:           if @databuffer.length > 0
427:             receive_data_chunk @databuffer
428:             @databuffer.clear
429:           end
430: 
431: 
432:           succeeded = proc {
433:             send_data "250 Message accepted\r\n"
434:           }
435:           failed = proc {
436:             send_data "550 Message rejected\r\n"
437:           }
438: 
439:           d = receive_message
440: 
441:           if d.respond_to?(:set_deferred_status)
442:             d.callback(&succeeded)
443:             d.errback(&failed)
444:           else
445:             (d ? succeeded : failed).call
446:           end
447: 
448:           @state.delete :data
449:         else
450:           # slice off leading . if any
451:           ln.slice!(0...1) if ln[0] == 46
452:           @databuffer << ln
453:           if @databuffer.length > @@parms[:chunksize]
454:             receive_data_chunk @databuffer
455:             @databuffer.clear
456:           end
457:         end
458:       end