From 8848729c679d0c9614f9a22bb0fa1a9bdb026019 Mon Sep 17 00:00:00 2001
From: Janne Mareike Koschinski <janne@kuschku.de>
Date: Tue, 16 Feb 2021 22:15:06 +0100
Subject: [PATCH] Further cleanups and improved documentation

---
 .../client/io/FixedDeflaterOutputStream.kt         |  3 +++
 .../libquassel/client/io/ReadableWrappedChannel.kt | 10 ++++++++++
 .../libquassel/client/io/WritableWrappedChannel.kt | 10 ++++++++++
 .../justjanne/libquassel/client/util/X509Helper.kt |  4 ++++
 .../libquassel/protocol/io/ChainedByteBuffer.kt    |  8 --------
 .../libquassel/protocol/io/useChainedByteBuffer.kt | 14 ++++++++++++++
 .../protocol/models/DccIpDetectionMode.kt          |  8 ++++++--
 .../protocol/models/DccPortSelectionMode.kt        |  8 ++++++--
 .../signalproxy/HeartBeatReplySerializer.kt        |  3 +++
 .../serializers/signalproxy/HeartBeatSerializer.kt |  3 +++
 .../serializers/signalproxy/InitDataSerializer.kt  |  3 +++
 .../signalproxy/InitRequestSerializer.kt           |  3 +++
 .../serializers/signalproxy/RpcSerializer.kt       |  3 +++
 .../serializers/signalproxy/SyncSerializer.kt      |  3 +++
 .../libquassel/protocol/variant/QVariantList.kt    |  5 ++++-
 .../libquassel/protocol/variant/QVariantMap.kt     |  5 ++++-
 .../protocol/testutil/handshakeSerializerTest.kt   |  7 +++----
 .../protocol/testutil/primitiveSerializerTest.kt   |  5 ++---
 .../libquassel/protocol/testutil/serializerTest.kt |  5 ++---
 .../protocol/testutil/signalProxySerializerTest.kt |  7 +++----
 20 files changed, 89 insertions(+), 28 deletions(-)
 create mode 100644 libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/io/useChainedByteBuffer.kt

diff --git a/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/io/FixedDeflaterOutputStream.kt b/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/io/FixedDeflaterOutputStream.kt
index ff09c58..ae060f6 100644
--- a/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/io/FixedDeflaterOutputStream.kt
+++ b/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/io/FixedDeflaterOutputStream.kt
@@ -29,6 +29,9 @@ import java.util.zip.DeflaterOutputStream
 class FixedDeflaterOutputStream(
   stream: OutputStream
 ) : DeflaterOutputStream(stream, true) {
+  /**
+   * Close the underlying stream and deflater
+   */
   override fun close() {
     try {
       super.close()
diff --git a/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/io/ReadableWrappedChannel.kt b/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/io/ReadableWrappedChannel.kt
index ce82b7b..9a6a0ca 100644
--- a/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/io/ReadableWrappedChannel.kt
+++ b/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/io/ReadableWrappedChannel.kt
@@ -24,12 +24,19 @@ import java.nio.ByteBuffer
 import java.nio.channels.ReadableByteChannel
 import java.nio.channels.spi.AbstractInterruptibleChannel
 
+/**
+ * Utility function to wrap an input stream into a readable channel
+ */
 class ReadableWrappedChannel(
   private var backingStream: InputStream
 ) : AbstractInterruptibleChannel(), ReadableByteChannel {
   private val buffer = ByteBuffer.allocate(PAGE_SIZE)
   private val lock = Any()
 
+  /**
+   * Reads from the channel into a given byte buffer and returns the amount of
+   * written bytes
+   */
   override fun read(dst: ByteBuffer): Int {
     val totalData = dst.remaining()
     var remainingData = totalData
@@ -81,6 +88,9 @@ class ReadableWrappedChannel(
     return (totalData - remainingData)
   }
 
+  /**
+   * Close the underlying stream
+   */
   override fun implCloseChannel() = backingStream.close()
 
   companion object {
diff --git a/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/io/WritableWrappedChannel.kt b/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/io/WritableWrappedChannel.kt
index a558250..db07d3e 100644
--- a/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/io/WritableWrappedChannel.kt
+++ b/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/io/WritableWrappedChannel.kt
@@ -24,12 +24,19 @@ import java.nio.ByteBuffer
 import java.nio.channels.WritableByteChannel
 import java.nio.channels.spi.AbstractInterruptibleChannel
 
+/**
+ * Utility function to wrap an output stream into a writable channel
+ */
 class WritableWrappedChannel(
   private var backingStream: OutputStream
 ) : AbstractInterruptibleChannel(), WritableByteChannel {
   private val buffer = ByteBuffer.allocate(PAGE_SIZE)
   private val lock = Any()
 
+  /**
+   * Write a given byte buffer to the channel and return the amount of written
+   * bytes
+   */
   override fun write(src: ByteBuffer): Int {
     val totalData = src.remaining()
     var remainingData = totalData
@@ -63,6 +70,9 @@ class WritableWrappedChannel(
     }
   }
 
+  /**
+   * Close the underlying stream
+   */
   override fun implCloseChannel() = backingStream.close()
 
   companion object {
diff --git a/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/util/X509Helper.kt b/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/util/X509Helper.kt
index 17f61e6..a51bd29 100644
--- a/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/util/X509Helper.kt
+++ b/libquassel-client/src/main/kotlin/de/justjanne/libquassel/client/util/X509Helper.kt
@@ -26,6 +26,10 @@ import java.security.cert.X509Certificate
 
 private val certificateFactory = CertificateFactory.getInstance("X.509")
 
+/**
+ * Utility function to extract, if available, an X509 Certificate from a given
+ * certificate
+ */
 fun Certificate.toX509(): X509Certificate =
   certificateFactory.generateCertificate(ByteArrayInputStream(this.encoded))
     as X509Certificate
diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/io/ChainedByteBuffer.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/io/ChainedByteBuffer.kt
index c92022c..d0b1726 100644
--- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/io/ChainedByteBuffer.kt
+++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/io/ChainedByteBuffer.kt
@@ -204,11 +204,3 @@ class ChainedByteBuffer(
       buffer.bufferList[index++].duplicate().flip()
   }
 }
-
-inline fun ChainedByteBuffer.use(
-  function: (ChainedByteBuffer) -> Unit
-): ByteBuffer {
-  val buffer = ChainedByteBuffer()
-  function(buffer)
-  return buffer.toBuffer()
-}
diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/io/useChainedByteBuffer.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/io/useChainedByteBuffer.kt
new file mode 100644
index 0000000..9e5f588
--- /dev/null
+++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/io/useChainedByteBuffer.kt
@@ -0,0 +1,14 @@
+package de.justjanne.libquassel.protocol.io
+
+import java.nio.ByteBuffer
+
+/**
+ * Utility function to apply a closure to a chained byte buffer and return its data
+ */
+inline fun useChainedByteBuffer(
+  function: (ChainedByteBuffer) -> Unit
+): ByteBuffer {
+  val buffer = ChainedByteBuffer()
+  function(buffer)
+  return buffer.toBuffer()
+}
diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/DccIpDetectionMode.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/DccIpDetectionMode.kt
index 04234b6..bb0cccf 100644
--- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/DccIpDetectionMode.kt
+++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/DccIpDetectionMode.kt
@@ -28,10 +28,14 @@ enum class DccIpDetectionMode(
    */
   val value: UByte,
 ) {
-  /** Automatic detection (network socket or USERHOST) */
+  /**
+   * Automatic detection
+   */
   Automatic(0x00u),
 
-  /** Manually specified IP */
+  /**
+   * Manually specified
+   */
   Manual(0x01u);
 
   companion object {
diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/DccPortSelectionMode.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/DccPortSelectionMode.kt
index e3a5f38..95f94a8 100644
--- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/DccPortSelectionMode.kt
+++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/models/DccPortSelectionMode.kt
@@ -28,10 +28,14 @@ enum class DccPortSelectionMode(
    */
   val value: UByte,
 ) {
-  /** Automatic port selection */
+  /**
+   * Automatic port selection
+   */
   Automatic(0x00u),
 
-  /** Manually specified port range */
+  /**
+   * Manually specified port range
+   */
   Manual(0x01u);
 
   companion object {
diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/HeartBeatReplySerializer.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/HeartBeatReplySerializer.kt
index e31ba6e..a495b4f 100644
--- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/HeartBeatReplySerializer.kt
+++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/HeartBeatReplySerializer.kt
@@ -8,6 +8,9 @@ import de.justjanne.libquassel.protocol.variant.into
 import de.justjanne.libquassel.protocol.variant.qVariant
 import org.threeten.bp.Instant
 
+/**
+ * Serializer for [SignalProxyMessage.HeartBeatReply]
+ */
 object HeartBeatReplySerializer : SignalProxySerializer<SignalProxyMessage.HeartBeatReply> {
   override val type: Int = 6
 
diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/HeartBeatSerializer.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/HeartBeatSerializer.kt
index efbc8a4..afb2c4f 100644
--- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/HeartBeatSerializer.kt
+++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/HeartBeatSerializer.kt
@@ -8,6 +8,9 @@ import de.justjanne.libquassel.protocol.variant.into
 import de.justjanne.libquassel.protocol.variant.qVariant
 import org.threeten.bp.Instant
 
+/**
+ * Serializer for [SignalProxyMessage.HeartBeat]
+ */
 object HeartBeatSerializer : SignalProxySerializer<SignalProxyMessage.HeartBeat> {
   override val type: Int = 5
 
diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/InitDataSerializer.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/InitDataSerializer.kt
index e913014..f7e331e 100644
--- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/InitDataSerializer.kt
+++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/InitDataSerializer.kt
@@ -11,6 +11,9 @@ import de.justjanne.libquassel.protocol.variant.toVariantList
 import de.justjanne.libquassel.protocol.variant.toVariantMap
 import java.nio.ByteBuffer
 
+/**
+ * Serializer for [SignalProxyMessage.InitData]
+ */
 object InitDataSerializer : SignalProxySerializer<SignalProxyMessage.InitData> {
   override val type: Int = 4
 
diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/InitRequestSerializer.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/InitRequestSerializer.kt
index a082f18..1c82d03 100644
--- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/InitRequestSerializer.kt
+++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/InitRequestSerializer.kt
@@ -9,6 +9,9 @@ import de.justjanne.libquassel.protocol.variant.into
 import de.justjanne.libquassel.protocol.variant.qVariant
 import java.nio.ByteBuffer
 
+/**
+ * Serializer for [SignalProxyMessage.InitRequest]
+ */
 object InitRequestSerializer : SignalProxySerializer<SignalProxyMessage.InitRequest> {
   override val type: Int = 3
 
diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/RpcSerializer.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/RpcSerializer.kt
index 0b72810..0cdfe3b 100644
--- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/RpcSerializer.kt
+++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/RpcSerializer.kt
@@ -9,6 +9,9 @@ import de.justjanne.libquassel.protocol.variant.into
 import de.justjanne.libquassel.protocol.variant.qVariant
 import java.nio.ByteBuffer
 
+/**
+ * Serializer for [SignalProxyMessage.Rpc]
+ */
 object RpcSerializer : SignalProxySerializer<SignalProxyMessage.Rpc> {
   override val type: Int = 2
 
diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/SyncSerializer.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/SyncSerializer.kt
index 1315215..d1fb9c1 100644
--- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/SyncSerializer.kt
+++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/serializers/signalproxy/SyncSerializer.kt
@@ -9,6 +9,9 @@ import de.justjanne.libquassel.protocol.variant.into
 import de.justjanne.libquassel.protocol.variant.qVariant
 import java.nio.ByteBuffer
 
+/**
+ * Serializer for [SignalProxyMessage.Sync]
+ */
 object SyncSerializer : SignalProxySerializer<SignalProxyMessage.Sync> {
   override val type: Int = 1
 
diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/variant/QVariantList.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/variant/QVariantList.kt
index 5f70f09..a6c97a5 100644
--- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/variant/QVariantList.kt
+++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/variant/QVariantList.kt
@@ -5,7 +5,10 @@ package de.justjanne.libquassel.protocol.variant
  */
 typealias QVariantList = List<QVariant_>
 
+/**
+ * Transform a QVariantList of interleaved keys and values into a QVariantMap
+ */
 fun QVariantList.toVariantMap(): QVariantMap =
-  this.zipWithNext().map { (key, value) ->
+  zipWithNext { key, value ->
     Pair(key.into(""), value)
   }.toMap()
diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/variant/QVariantMap.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/variant/QVariantMap.kt
index 52e0fe8..24bbe71 100644
--- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/variant/QVariantMap.kt
+++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/variant/QVariantMap.kt
@@ -7,7 +7,10 @@ import de.justjanne.libquassel.protocol.models.types.QtType
  */
 typealias QVariantMap = Map<String, QVariant_>
 
+/**
+ * Transform a QVariantMap into a QVariantList of interleaved keys and values
+ */
 fun QVariantMap.toVariantList(): QVariantList =
-  this.toList().flatMap { (key, value) ->
+  flatMap { (key, value) ->
     listOf(qVariant(key, QtType.QString), value)
   }
diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/handshakeSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/handshakeSerializerTest.kt
index 59e47af..8d059b9 100644
--- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/handshakeSerializerTest.kt
+++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/handshakeSerializerTest.kt
@@ -19,8 +19,7 @@
 package de.justjanne.libquassel.protocol.testutil
 
 import de.justjanne.libquassel.protocol.features.FeatureSet
-import de.justjanne.libquassel.protocol.io.ChainedByteBuffer
-import de.justjanne.libquassel.protocol.io.use
+import de.justjanne.libquassel.protocol.io.useChainedByteBuffer
 import de.justjanne.libquassel.protocol.models.HandshakeMessage
 import de.justjanne.libquassel.protocol.serializers.HandshakeMessageSerializer
 import de.justjanne.libquassel.protocol.testutil.matchers.ByteBufferMatcher
@@ -48,7 +47,7 @@ inline fun <reified T : HandshakeMessage> handshakeSerializerTest(
     }
     if (serializeFeatureSet != null) {
       assertThat(
-        ChainedByteBuffer().use {
+        useChainedByteBuffer {
           HandshakeMessageSerializer.serialize(it, value, serializeFeatureSet)
         },
         ByteBufferMatcher(encoded.rewind())
@@ -57,7 +56,7 @@ inline fun <reified T : HandshakeMessage> handshakeSerializerTest(
   }
   for (featureSet in featureSets) {
     val after = HandshakeMessageSerializer.deserialize(
-      ChainedByteBuffer().use {
+      useChainedByteBuffer {
         HandshakeMessageSerializer.serialize(it, value, featureSet)
       },
       featureSet
diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/primitiveSerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/primitiveSerializerTest.kt
index eefbafb..871ffd9 100644
--- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/primitiveSerializerTest.kt
+++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/primitiveSerializerTest.kt
@@ -19,8 +19,7 @@
 package de.justjanne.libquassel.protocol.testutil
 
 import de.justjanne.libquassel.protocol.features.FeatureSet
-import de.justjanne.libquassel.protocol.io.ChainedByteBuffer
-import de.justjanne.libquassel.protocol.io.use
+import de.justjanne.libquassel.protocol.io.useChainedByteBuffer
 import de.justjanne.libquassel.protocol.models.types.QtType
 import de.justjanne.libquassel.protocol.models.types.QuasselType
 import de.justjanne.libquassel.protocol.serializers.PrimitiveSerializer
@@ -86,7 +85,7 @@ inline fun <reified T : Any?> primitiveSerializerTest(
       }
     }
     if (serializeFeatureSet != null) {
-      val after = ChainedByteBuffer().use {
+      val after = useChainedByteBuffer {
         serializer.serialize(it, value, serializeFeatureSet)
       }
       assertThat(after, ByteBufferMatcher(encoded.rewind()))
diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/serializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/serializerTest.kt
index ff9231e..1af35db 100644
--- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/serializerTest.kt
+++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/serializerTest.kt
@@ -19,8 +19,7 @@
 package de.justjanne.libquassel.protocol.testutil
 
 import de.justjanne.libquassel.protocol.features.FeatureSet
-import de.justjanne.libquassel.protocol.io.ChainedByteBuffer
-import de.justjanne.libquassel.protocol.io.use
+import de.justjanne.libquassel.protocol.io.useChainedByteBuffer
 import de.justjanne.libquassel.protocol.serializers.PrimitiveSerializer
 import de.justjanne.libquassel.protocol.testutil.matchers.ByteBufferMatcher
 import org.hamcrest.Matcher
@@ -47,7 +46,7 @@ fun <T : Any?> serializerTest(
       }
     }
     if (serializeFeatureSet != null) {
-      val after = ChainedByteBuffer().use {
+      val after = useChainedByteBuffer {
         serializer.serialize(it, value, serializeFeatureSet)
       }
       assertThat(after, ByteBufferMatcher(encoded.rewind()))
diff --git a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/signalProxySerializerTest.kt b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/signalProxySerializerTest.kt
index 08e0b83..2f4c502 100644
--- a/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/signalProxySerializerTest.kt
+++ b/libquassel-protocol/src/test/kotlin/de/justjanne/libquassel/protocol/testutil/signalProxySerializerTest.kt
@@ -19,8 +19,7 @@
 package de.justjanne.libquassel.protocol.testutil
 
 import de.justjanne.libquassel.protocol.features.FeatureSet
-import de.justjanne.libquassel.protocol.io.ChainedByteBuffer
-import de.justjanne.libquassel.protocol.io.use
+import de.justjanne.libquassel.protocol.io.useChainedByteBuffer
 import de.justjanne.libquassel.protocol.models.SignalProxyMessage
 import de.justjanne.libquassel.protocol.serializers.SignalProxyMessageSerializer
 import de.justjanne.libquassel.protocol.testutil.matchers.ByteBufferMatcher
@@ -48,7 +47,7 @@ inline fun <reified T : SignalProxyMessage> signalProxySerializerTest(
     }
     if (serializeFeatureSet != null) {
       assertThat(
-        ChainedByteBuffer().use {
+        useChainedByteBuffer {
           SignalProxyMessageSerializer.serialize(it, value, serializeFeatureSet)
         },
         ByteBufferMatcher(encoded.rewind())
@@ -57,7 +56,7 @@ inline fun <reified T : SignalProxyMessage> signalProxySerializerTest(
   }
   for (featureSet in featureSets) {
     val after = SignalProxyMessageSerializer.deserialize(
-      ChainedByteBuffer().use {
+      useChainedByteBuffer {
         SignalProxyMessageSerializer.serialize(it, value, featureSet)
       },
       featureSet
-- 
GitLab