как узнать, что wireshark обработал все пакеты с помощью lua?

#lua #wireshark

Вопрос:

я только что узнал, как использовать lua в wireshark для анализа моих захваченных файлов.

 function tap.draw(t)
    tw:clear()
    tw:append("analyzing...")
    print("call draw")
    print(max_number)
    print(max_number_bu_user)
    if tonumber(max_number)==tonumber(max_number_bu_user) then
        print("begin analyze")
        if analyze_finished==false then
            if analyze_is_running==false then
                analyze_is_running=true
                local p=ProgDlg.new("cotp analyze","")
                local ok,errmsg=pcall(function () 
                    local co=coroutine.create(
                        function()
                            myanalyze()
                        end
                    )
                    coroutine.resume(co)
                end)
                p:close()
                if ok==true then
                    analyze_finished=true
                end
            end
        end
    end
 

tap.draw будет вызываться каждые 3 секунды, пока все пакеты не будут выполнены с помощью tap.packet . но в tap.packet я не сообщаю, когда все пакеты были выполнены. поэтому я открываю диалоговое окно, чтобы пользователь мог сообщить мне, сколько пакетов в файле захвата(max_number_by_user). и в каждый момент времени нажмите.вызванный пакет, max_number=max_number 1.
в tap.packet я сохраняю необходимые файлы в таблице и анализирую время отклика в myanalyze().
я думаю, что должен быть лучший способ. но я не могу этого найти. не могли бы вы мне помочь?