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