Refactor FileBackedOutputStream 57/116157/5
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 3 Apr 2025 18:36:14 +0000 (20:36 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 4 Apr 2025 09:55:06 +0000 (11:55 +0200)
commit74c4e86970aecc6b651825e5c87900e407a3177a
tree279678c4a2cbeac0a33d9e9e365bc460e45d3f21
parent41cdf6621a9af9e2362dfcb73534a5127824d30b
Refactor FileBackedOutputStream

The lifecycle here is a bit hairy. Improve it by keeping track of what
state we are in.

While we are in the area, split out TransientFile(StreamSource), which
is backed by a temporary file.

Major improvement here is TransientFile, which acts as the GC anchor to
a file -- eliminating the need to hold on to FileBackedOutputStream.

JIRA: CONTROLLER-2134
Change-Id: I3fbdcca3e927551572a38dd4d0268b0d56b68aa9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
raft/raft-spi/src/main/java/org/opendaylight/raft/spi/AbstractFileStreamSource.java [new file with mode: 0644]
raft/raft-spi/src/main/java/org/opendaylight/raft/spi/FileBackedOutputStream.java
raft/raft-spi/src/main/java/org/opendaylight/raft/spi/FileStreamSource.java
raft/raft-spi/src/main/java/org/opendaylight/raft/spi/TransientFile.java [new file with mode: 0644]
raft/raft-spi/src/main/java/org/opendaylight/raft/spi/TransientFileStreamSource.java [new file with mode: 0644]