From 5cfdee42ead33de36cfb3945c4fa7050777413da Mon Sep 17 00:00:00 2001 From: tursom Date: Thu, 8 Jul 2021 23:06:38 +0800 Subject: [PATCH] update DataOperate.kt --- .../main/kotlin/cn/tursom/core/buffer/ByteBuffer.kt | 13 +++++++------ .../cn/tursom/core/buffer/MultipleByteBuffer.kt | 13 +++++++------ .../cn/tursom/core/buffer/impl/NettyByteBuffer.kt | 13 +++++++------ 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/ts-core/ts-buffer/src/main/kotlin/cn/tursom/core/buffer/ByteBuffer.kt b/ts-core/ts-buffer/src/main/kotlin/cn/tursom/core/buffer/ByteBuffer.kt index 4e223cc..8e61ada 100644 --- a/ts-core/ts-buffer/src/main/kotlin/cn/tursom/core/buffer/ByteBuffer.kt +++ b/ts-core/ts-buffer/src/main/kotlin/cn/tursom/core/buffer/ByteBuffer.kt @@ -5,6 +5,7 @@ import java.io.Closeable import java.io.IOException import java.io.InputStream import java.io.OutputStream +import java.nio.ByteOrder import kotlin.math.min /** @@ -82,12 +83,12 @@ interface ByteBuffer : Closeable { } fun get(): Byte = read { it.get() } - fun getChar(): Char = read { it.char } - fun getShort(): Short = read { it.short } - fun getInt(): Int = read { it.int } - fun getLong(): Long = read { it.long } - fun getFloat(): Float = read { it.float } - fun getDouble(): Double = read { it.double } + fun getChar(byteOrder: ByteOrder = ByteOrder.nativeOrder()): Char = read { it.char } + fun getShort(byteOrder: ByteOrder = ByteOrder.nativeOrder()): Short = read { it.short } + fun getInt(byteOrder: ByteOrder = ByteOrder.nativeOrder()): Int = read { it.int } + fun getLong(byteOrder: ByteOrder = ByteOrder.nativeOrder()): Long = read { it.long } + fun getFloat(byteOrder: ByteOrder = ByteOrder.nativeOrder()): Float = read { it.float } + fun getDouble(byteOrder: ByteOrder = ByteOrder.nativeOrder()): Double = read { it.double } fun getBytes(size: Int = readable): ByteArray = read { val bytes = ByteArray(size) diff --git a/ts-core/ts-buffer/src/main/kotlin/cn/tursom/core/buffer/MultipleByteBuffer.kt b/ts-core/ts-buffer/src/main/kotlin/cn/tursom/core/buffer/MultipleByteBuffer.kt index 19abe36..abf4455 100644 --- a/ts-core/ts-buffer/src/main/kotlin/cn/tursom/core/buffer/MultipleByteBuffer.kt +++ b/ts-core/ts-buffer/src/main/kotlin/cn/tursom/core/buffer/MultipleByteBuffer.kt @@ -7,6 +7,7 @@ import cn.tursom.core.toBytes import java.io.Closeable import java.io.InputStream import java.io.OutputStream +import java.nio.ByteOrder @Suppress("unused") interface MultipleByteBuffer : List, Closeable, ByteBuffer { @@ -123,12 +124,12 @@ interface MultipleByteBuffer : List, Closeable, ByteBuffer { override fun resize(newSize: Int): Boolean = false override fun get(): Byte - override fun getChar(): Char = cn.tursom.core.toChar(::get) - override fun getShort(): Short = cn.tursom.core.toShort(::get) - override fun getInt(): Int = cn.tursom.core.toInt(::get) - override fun getLong(): Long = cn.tursom.core.toLong(::get) - override fun getFloat(): Float = cn.tursom.core.toFloat(::get) - override fun getDouble(): Double = cn.tursom.core.toDouble(::get) + override fun getChar(byteOrder: ByteOrder): Char = cn.tursom.core.toChar(byteOrder, ::get) + override fun getShort(byteOrder: ByteOrder): Short = cn.tursom.core.toShort(byteOrder, ::get) + override fun getInt(byteOrder: ByteOrder): Int = cn.tursom.core.toInt(byteOrder, ::get) + override fun getLong(byteOrder: ByteOrder): Long = cn.tursom.core.toLong(byteOrder, ::get) + override fun getFloat(byteOrder: ByteOrder): Float = cn.tursom.core.toFloat(byteOrder, ::get) + override fun getDouble(byteOrder: ByteOrder): Double = cn.tursom.core.toDouble(byteOrder, ::get) override fun getBytes(size: Int): ByteArray { val buffer = ByteArray(size) buffer.indices.forEach { diff --git a/ts-core/ts-buffer/src/main/kotlin/cn/tursom/core/buffer/impl/NettyByteBuffer.kt b/ts-core/ts-buffer/src/main/kotlin/cn/tursom/core/buffer/impl/NettyByteBuffer.kt index 384fe25..3e1a48d 100644 --- a/ts-core/ts-buffer/src/main/kotlin/cn/tursom/core/buffer/impl/NettyByteBuffer.kt +++ b/ts-core/ts-buffer/src/main/kotlin/cn/tursom/core/buffer/impl/NettyByteBuffer.kt @@ -3,6 +3,7 @@ package cn.tursom.core.buffer.impl import cn.tursom.core.buffer.ByteBuffer import io.netty.buffer.ByteBuf import java.io.OutputStream +import java.nio.ByteOrder class NettyByteBuffer( val byteBuf: ByteBuf @@ -60,12 +61,12 @@ class NettyByteBuffer( } override fun get(): Byte = byteBuf.readByte() - override fun getChar(): Char = byteBuf.readChar() - override fun getShort(): Short = byteBuf.readShort() - override fun getInt(): Int = byteBuf.readInt() - override fun getLong(): Long = byteBuf.readLong() - override fun getFloat(): Float = byteBuf.readFloat() - override fun getDouble(): Double = byteBuf.readDouble() + override fun getChar(byteOrder: ByteOrder): Char = byteBuf.readChar() + override fun getShort(byteOrder: ByteOrder): Short = byteBuf.readShort() + override fun getInt(byteOrder: ByteOrder): Int = byteBuf.readInt() + override fun getLong(byteOrder: ByteOrder): Long = byteBuf.readLong() + override fun getFloat(byteOrder: ByteOrder): Float = byteBuf.readFloat() + override fun getDouble(byteOrder: ByteOrder): Double = byteBuf.readDouble() override fun getBytes(size: Int): ByteArray { val bytes = ByteArray(size)