|
@@ -1,5 +1,7 @@
|
|
|
package org.jetlinks.community.network.tcp.client;
|
|
|
|
|
|
+import io.netty.buffer.ByteBuf;
|
|
|
+import io.netty.util.ReferenceCountUtil;
|
|
|
import io.vertx.core.buffer.Buffer;
|
|
|
import io.vertx.core.net.NetClient;
|
|
|
import io.vertx.core.net.NetSocket;
|
|
@@ -77,10 +79,12 @@ public class VertxTcpClient implements TcpClient {
|
|
|
sink.error(new SocketException("socket closed"));
|
|
|
return;
|
|
|
}
|
|
|
- Buffer buffer = Buffer.buffer(message.getPayload());
|
|
|
+ ByteBuf buf = message.getPayload();
|
|
|
+ Buffer buffer = Buffer.buffer(buf);
|
|
|
socket.write(buffer, r -> {
|
|
|
- keepAlive();
|
|
|
+ ReferenceCountUtil.safeRelease(buf);
|
|
|
if (r.succeeded()) {
|
|
|
+ keepAlive();
|
|
|
sink.success();
|
|
|
} else {
|
|
|
sink.error(r.cause());
|