Introduce atomix.storage.journal.JournalSerdes 39/104739/5
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 2 Mar 2023 17:38:30 +0000 (18:38 +0100)
committerRobert Varga <nite@hq.sk>
Mon, 27 Mar 2023 10:49:12 +0000 (10:49 +0000)
commita6a5fe176855c600d957dad4bf0dd74dbcf24a55
treebcdd0d7dcca92ad4cf8f58f3ffbf9823e1bb470a
parentf8208948eb67a26207343ca60b5b19286f5e4410
Introduce atomix.storage.journal.JournalSerdes

The interfaces are tightly coupled with namespace implementation, which
in turn is tightly coupled to Kryo.

As a first step to disconnect these three, introduce JournalSerdes,
which acts as the public API implemented by Namespace. This allows us to
hide atomix.utils.serializer package at least from OSGi.

Change-Id: I9668ba2eb3e0a58d7ed27ee09ec1bb3cee069eb4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 files changed:
opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/DataJournalV0.java
opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/SegmentedJournalActor.java
third-party/atomix/storage/pom.xml
third-party/atomix/storage/src/main/java/io/atomix/storage/journal/FileChannelJournalSegmentReader.java
third-party/atomix/storage/src/main/java/io/atomix/storage/journal/FileChannelJournalSegmentWriter.java
third-party/atomix/storage/src/main/java/io/atomix/storage/journal/JournalSegment.java
third-party/atomix/storage/src/main/java/io/atomix/storage/journal/JournalSerdes.java [new file with mode: 0644]
third-party/atomix/storage/src/main/java/io/atomix/storage/journal/MappableJournalSegmentReader.java
third-party/atomix/storage/src/main/java/io/atomix/storage/journal/MappableJournalSegmentWriter.java
third-party/atomix/storage/src/main/java/io/atomix/storage/journal/MappedJournalSegmentReader.java
third-party/atomix/storage/src/main/java/io/atomix/storage/journal/MappedJournalSegmentWriter.java
third-party/atomix/storage/src/main/java/io/atomix/storage/journal/SegmentedJournal.java
third-party/atomix/storage/src/main/java/io/atomix/utils/serializer/Namespace.java
third-party/atomix/storage/src/test/java/io/atomix/storage/journal/AbstractJournalTest.java