Reading the documentation here it says that:
Pipeline batch delay is the maximum amount of time in milliseconds that Logstash waits for new messages after receiving an event in the current pipeline worker thread.
Then it says:
The maximum time that Logstash waits between receiving an event and processing that event in a filter is the product of the pipeline.batch.delay and pipeline.batch.size settings.
I get that pipeline.batch.delay is how long logstash can wait before processing an event. But how does that then explain the above statement for the maximum time. How does the product of pipeline.batch.delay and pipeline.batch.size equal the maximum time that logstash waits before processing an event ?