Commit Graph

5 Commits

Author SHA1 Message Date
Elle Mouton
9e4c8dd509
wtclient: make addr iterator panic safe
Ensure that calling Next twice in a row without first calling Reset is
safe when the iterator is at the end of its list. Also alter the
towerListIterator to call Reset after hitting an error on Next.
2023-03-30 12:29:41 +02:00
Elle Mouton
1047514515
wtclient: demo addr iterator panic
This commit adds a test that shows that it is possible to cause the
AddressIterator to panic if the `Next` method is ever called twice when
the iterator is at the end of its list without Reset first being called.
2023-03-30 12:29:24 +02:00
Elle Mouton
de80fffa6c
wtclient: divide addr_iter tests into subtests
Split out the existing tests into logical subtests.
2023-03-30 12:29:06 +02:00
Elle Mouton
0209e6feb8
watchtower/wtclient: add Copy method to AddressIterator 2023-03-20 16:51:32 +02:00
Elle Mouton
7924542500
watchtower: add AddressIterator and tests
In this commit, a new AddressIterator type is added. It is a type that
can be used to iterate over a list of addresses. It strictly disallows
the list of addresses it holds to be empty. It also allows callers to
place locks on certain addresses in order to prevent other callers from
removing the addresses in question from the iterator.
2022-10-20 15:46:03 +02:00