protected class TP.DefaultBundler
The sender's thread adds a message to the hashmap and - if the accumulated size has been exceeded - sends all
bundled messages. The cost of sending the bundled messages is therefore distributed over different threads;
whoever happens to send a message exceeding the max size gets to send the accumulated messages. We also use a
number of timer tasks to send bundled messages after a certain time has elapsed. This is necessary e.g. when a
message is added that doesn't exceed the max size, but then no further messages are added, so elapsed time
will trigger the sending, not exceeding of the max size.