forked from openrs2/openrs2
parent
e764403cb2
commit
78f8069177
@ -0,0 +1,16 @@ |
|||||||
|
package dev.openrs2.cache |
||||||
|
|
||||||
|
import io.netty.buffer.ByteBuf |
||||||
|
|
||||||
|
public object VersionTrailer { |
||||||
|
public fun strip(buf: ByteBuf): Int? { |
||||||
|
return if (buf.readableBytes() >= 2) { |
||||||
|
val index = buf.writerIndex() - 2 |
||||||
|
val version = buf.getUnsignedShort(index) |
||||||
|
buf.writerIndex(index) |
||||||
|
version |
||||||
|
} else { |
||||||
|
null |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,35 @@ |
|||||||
|
package dev.openrs2.cache |
||||||
|
|
||||||
|
import dev.openrs2.buffer.use |
||||||
|
import io.netty.buffer.Unpooled |
||||||
|
import kotlin.test.Test |
||||||
|
import kotlin.test.assertEquals |
||||||
|
import kotlin.test.assertNull |
||||||
|
|
||||||
|
object VersionTrailerTest { |
||||||
|
@Test |
||||||
|
public fun testStrip() { |
||||||
|
assertNull(VersionTrailer.strip(Unpooled.EMPTY_BUFFER)) |
||||||
|
|
||||||
|
Unpooled.wrappedBuffer(byteArrayOf(0)).use { buf -> |
||||||
|
assertNull(VersionTrailer.strip(buf)) |
||||||
|
|
||||||
|
Unpooled.wrappedBuffer(byteArrayOf(0)).use { expected -> |
||||||
|
assertEquals(expected, buf) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
Unpooled.wrappedBuffer(byteArrayOf(0x12, 0x34)).use { buf -> |
||||||
|
assertEquals(0x1234, VersionTrailer.strip(buf)) |
||||||
|
assertEquals(Unpooled.EMPTY_BUFFER, buf) |
||||||
|
} |
||||||
|
|
||||||
|
Unpooled.wrappedBuffer(byteArrayOf(0x12, 0x34, 0x56)).use { buf -> |
||||||
|
assertEquals(0x3456, VersionTrailer.strip(buf)) |
||||||
|
|
||||||
|
Unpooled.wrappedBuffer(byteArrayOf(0x012)).use { expected -> |
||||||
|
assertEquals(expected, buf) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue