Skip to content

Commit 214d0ac

Browse files
committed
Make a few minor improvements to improve code quality, comments, and license
1 parent ecc8ee6 commit 214d0ac

File tree

2 files changed

+34
-7
lines changed

2 files changed

+34
-7
lines changed

src/main/java/engineering/swat/watch/impl/overflows/IndexingRescanner.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ protected class Generator extends MemorylessRescanner.Generator {
9393

9494
public Generator(Path path, WatchScope scope) {
9595
super(path, scope);
96-
this.visited.push(new HashSet<>());
9796
}
9897

9998
private <T> void addToPeeked(Deque<Set<T>> deque, T t) {

src/test/java/engineering/swat/watch/impl/overflows/IndexingRescannerTests.java

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
/*
2+
* BSD 2-Clause License
3+
*
4+
* Copyright (c) 2023, Swat.engineering
5+
*
6+
* Redistribution and use in source and binary forms, with or without
7+
* modification, are permitted provided that the following conditions are met:
8+
*
9+
* 1. Redistributions of source code must retain the above copyright notice, this
10+
* list of conditions and the following disclaimer.
11+
*
12+
* 2. Redistributions in binary form must reproduce the above copyright notice,
13+
* this list of conditions and the following disclaimer in the documentation
14+
* and/or other materials provided with the distribution.
15+
*
16+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
20+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22+
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24+
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26+
*/
127
package engineering.swat.watch.impl.overflows;
228

329
import static org.awaitility.Awaitility.await;
@@ -45,8 +71,8 @@ static void setupEverything() {
4571
void onlyEventsForFilesInScopeAreIssued() throws IOException, InterruptedException {
4672
var path = testDir.getTestDirectory();
4773

48-
// Prepare a watch that monitors only the children (not all descendants)
49-
// of `path`
74+
// Configure a non-recursive directory watch that monitors only the
75+
// children (not all descendants) of `path`
5076
var eventsOnlyForChildren = new AtomicBoolean(true);
5177
var watchConfig = Watcher.watch(path, WatchScope.PATH_AND_CHILDREN)
5278
.approximate(OnOverflow.NONE) // Disable the auto-handler here; we'll have an explicit one below
@@ -58,14 +84,16 @@ void onlyEventsForFilesInScopeAreIssued() throws IOException, InterruptedExcepti
5884

5985
try (var watch = (EventHandlingWatch) watchConfig.start()) {
6086
// Create a rescanner that initially indexes all descendants (not
61-
// only the children) of `path`
87+
// only the children) of `path`. The resulting initial index is an
88+
// overestimation of the files monitored by the watch.
6289
var rescanner = new IndexingRescanner(
6390
ForkJoinPool.commonPool(), path,
6491
WatchScope.PATH_AND_ALL_DESCENDANTS);
6592

66-
// Trigger a rescan. As only the children (not all descendants) of
67-
// `path` are watched, the rescan should issue events only for those
68-
// children.
93+
// Trigger a rescan. Because only the children (not all descendants)
94+
// of `path` are watched, the rescan should issue events only for
95+
// those children (even though the initial index contains entries
96+
// for all descendants).
6997
var overflow = new WatchEvent(WatchEvent.Kind.OVERFLOW, path);
7098
rescanner.accept(watch, overflow);
7199
Thread.sleep(TestHelper.SHORT_WAIT.toMillis());

0 commit comments

Comments
 (0)