From 0e44169327daee11bc1aa0c4fd338d59af9294ef Mon Sep 17 00:00:00 2001
From: tursom <tursom@foxmail.com>
Date: Mon, 5 Jul 2021 17:30:30 +0800
Subject: [PATCH] update WebSocketClient

---
 .../src/main/kotlin/cn/tursom/core/ws/WebSocketClient.kt    | 6 ++++++
 .../cn/tursom/core/ws/WebSocketClientChannelHandler.kt      | 1 +
 .../cn/tursom/core/ws/WebSocketClientHandshakerAdapter.kt   | 1 +
 3 files changed, 8 insertions(+)

diff --git a/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClient.kt b/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClient.kt
index ad54c50..1bc25bb 100644
--- a/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClient.kt
+++ b/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClient.kt
@@ -195,6 +195,12 @@ open class WebSocketClient<in T : WebSocketClient<T, H>, H : WebSocketHandler<T,
     return ch!!.writeAndFlush(PongWebSocketFrame(data))
   }
 
+  fun onOpen() {
+  }
+
+  fun onClose() {
+  }
+
   companion object {
     val group: EventLoopGroup = NioEventLoopGroup()
   }
diff --git a/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientChannelHandler.kt b/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientChannelHandler.kt
index 0fdd2b2..1ddaa85 100644
--- a/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientChannelHandler.kt
+++ b/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientChannelHandler.kt
@@ -12,6 +12,7 @@ class WebSocketClientChannelHandler<T : WebSocketClient<T, H>, H : WebSocketHand
 ) : SimpleChannelInboundHandler<WebSocketFrame>(autoRelease) {
 
   override fun channelInactive(ctx: ChannelHandlerContext) {
+    client.onClose()
     handler.onClose(client)
     if (client.ch == ctx.channel()) {
       client.ch = null
diff --git a/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientHandshakerAdapter.kt b/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientHandshakerAdapter.kt
index 3b08376..f845aaa 100644
--- a/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientHandshakerAdapter.kt
+++ b/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientHandshakerAdapter.kt
@@ -29,6 +29,7 @@ class WebSocketClientHandshakerAdapter<T : WebSocketClient<T, H>, H : WebSocketH
       handshakeFuture!!.setSuccess()
       //msg.retain()
       //ctx.fireChannelRead(msg)
+      client.onOpen()
       handler.onOpen(client)
       return
     } else {