mirror of
https://github.com/tursom/TursomServer.git
synced 2025-02-08 18:50:11 +08:00
优化 Web 写入性能
This commit is contained in:
parent
3993a8af1f
commit
354d2ac46a
@ -1,6 +1,5 @@
|
||||
package cn.tursom.web.netty
|
||||
|
||||
import cn.tursom.core.buf
|
||||
import cn.tursom.core.buffer.ByteBuffer
|
||||
import cn.tursom.web.AdvanceHttpContent
|
||||
import cn.tursom.web.utils.Chunked
|
||||
@ -10,7 +9,6 @@ import io.netty.buffer.Unpooled
|
||||
import io.netty.channel.ChannelHandlerContext
|
||||
import io.netty.handler.codec.http.*
|
||||
import io.netty.handler.stream.ChunkedFile
|
||||
import java.io.ByteArrayOutputStream
|
||||
import java.io.File
|
||||
import java.io.RandomAccessFile
|
||||
import java.util.*
|
||||
@ -110,7 +108,9 @@ open class NettyHttpContent(
|
||||
responseBodyBuf.addComponent(if (buffer is NettyByteBuffer) {
|
||||
buffer.byteBuf
|
||||
} else {
|
||||
Unpooled.wrappedBuffer(buffer.readBuffer())
|
||||
val buf = Unpooled.wrappedBuffer(buffer.readBuffer())
|
||||
buffer.clear()
|
||||
buf
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -1,14 +1,11 @@
|
||||
package cn.tursom.web
|
||||
|
||||
import cn.tursom.core.buf
|
||||
import cn.tursom.core.buffer.ByteBuffer
|
||||
import cn.tursom.core.count
|
||||
import cn.tursom.core.urlDecode
|
||||
import cn.tursom.web.utils.CacheControl
|
||||
import cn.tursom.web.utils.Chunked
|
||||
import cn.tursom.web.utils.Cookie
|
||||
import cn.tursom.web.utils.SameSite
|
||||
import java.io.ByteArrayOutputStream
|
||||
import java.io.File
|
||||
import java.io.RandomAccessFile
|
||||
import java.net.SocketAddress
|
||||
@ -51,7 +48,12 @@ interface HttpContent {
|
||||
fun finish()
|
||||
fun finish(buffer: ByteArray, offset: Int = 0, size: Int = buffer.size - offset)
|
||||
fun finish(buffer: ByteBuffer) {
|
||||
finish(buffer.array, buffer.readOffset, buffer.readAllSize())
|
||||
if (buffer.hasArray) {
|
||||
finish(buffer.array, buffer.readOffset, buffer.readAllSize())
|
||||
} else {
|
||||
write(buffer)
|
||||
finish()
|
||||
}
|
||||
buffer.close()
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user