Skip to content

Commit 250e019

Browse files
committed
introduce TailableCursor interface
1 parent fa283e4 commit 250e019

File tree

4 files changed

+26
-4
lines changed

4 files changed

+26
-4
lines changed

core/src/main/java/de/bwaldvogel/mongo/backend/EmptyCursor.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
import java.util.NoSuchElementException;
55

66
import de.bwaldvogel.mongo.bson.Document;
7+
import de.bwaldvogel.mongo.oplog.OplogPosition;
78

8-
public class EmptyCursor extends AbstractCursor {
9+
public class EmptyCursor extends AbstractCursor implements TailableCursor {
910

1011
private static final long EMPTY_CURSOR_ID = 0L;
1112

@@ -33,4 +34,9 @@ public List<Document> takeDocuments(int numberToReturn) {
3334
public String toString() {
3435
return getClass().getSimpleName() + "()";
3536
}
37+
38+
@Override
39+
public OplogPosition getPosition() {
40+
return null;
41+
}
3642
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package de.bwaldvogel.mongo.backend;
2+
3+
import de.bwaldvogel.mongo.oplog.OplogPosition;
4+
5+
public interface TailableCursor extends Cursor {
6+
7+
OplogPosition getPosition();
8+
9+
}

core/src/main/java/de/bwaldvogel/mongo/oplog/InvalidateOplogCursor.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
import java.util.List;
55

66
import de.bwaldvogel.mongo.backend.AbstractCursor;
7+
import de.bwaldvogel.mongo.backend.TailableCursor;
78
import de.bwaldvogel.mongo.bson.Document;
89

9-
class InvalidateOplogCursor extends AbstractCursor {
10+
class InvalidateOplogCursor extends AbstractCursor implements TailableCursor {
1011
private final OplogPosition position;
1112

1213
InvalidateOplogCursor(OplogPosition position) {
@@ -27,4 +28,8 @@ public List<Document> takeDocuments(int numberToReturn) {
2728
return Collections.singletonList(result);
2829
}
2930

31+
@Override
32+
public OplogPosition getPosition() {
33+
return null;
34+
}
3035
}

core/src/main/java/de/bwaldvogel/mongo/oplog/OplogCursor.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@
88

99
import de.bwaldvogel.mongo.backend.CollectionUtils;
1010
import de.bwaldvogel.mongo.backend.AbstractCursor;
11+
import de.bwaldvogel.mongo.backend.TailableCursor;
1112
import de.bwaldvogel.mongo.bson.Document;
1213

13-
public class OplogCursor extends AbstractCursor {
14+
public class OplogCursor extends AbstractCursor implements TailableCursor {
1415

1516
private final Function<OplogPosition, Stream<Document>> oplogStream;
1617
private OplogPosition position;
@@ -51,7 +52,8 @@ private void emulateWaitingForAllShards() {
5152
}
5253
}
5354

54-
OplogPosition getPosition() {
55+
@Override
56+
public OplogPosition getPosition() {
5557
return position;
5658
}
5759

0 commit comments

Comments
 (0)