On 05/16/2013 10:50 AM, Anoop Saldanha wrote:
> In src/app-layer-parser.c:
> 
>>  
>> -                SCLogDebug("inspect_id %"PRIu16", avail_id %"PRIu16,
>> -                        parser_state_store->inspect_id,
>> -                        parser_state_store->avail_id);
>> -            } else {
>> -                /* done but no more transactions available */
>> -                r = 1;
>> +    for (; idx < total_txs; idx++, tx_updated_by++) {
>> +        tx = AppLayerGetTx(f->alproto, f->alstate, idx);
>> +        state_progress = AppLayerGetAlstateProgress(f->alproto, tx, direction);
>> +        if (state_progress >= state_done_progress)
> 
> Completion Status is the max status for the tx at which point it can be
> considered complete and will not be further updated with any data.
> 
> So if the curr state is == the completion state, we can consider the tx
> completely inspected and move the inspection idx forward.

Ah so this completion status thing is nothing more than registering what
the "final" status is, that we can then check against what *Progrss returns.

Is it per TX, per state or both?