Я программирую часть коммуникационного стека. Я хочу, чтобы входящие пакеты были сохранены в очереди или просто в коллекции, где каждый пакет имеет определенный TTL. Пакеты отправляются на более высокий уровень, если это успешно, отправляется подтверждающее сообщение и этот конкретный пакет должен быть удален (даже если TTL не прошел). Если нет, пакет отправляется повторно.
Какой тип коллекции лучше всего использовать? ех. Нечто со случайным идентификатором для каждого пакета, которое можно использовать для идентификации пакета в целях удаления или повторной отправки.