@@ -40,34 +40,42 @@ extension WebSocket {
4040 try await close ( code: code) . get ( )
4141 }
4242
43- public func onText( _ callback: @escaping ( WebSocket , String ) async -> ( ) ) {
44- onText { socket, text in
45- Task {
46- await callback ( socket, text)
43+ public func onText( _ callback: @Sendable @escaping ( WebSocket, String) async -> ( ) ) {
44+ self . eventLoop. execute {
45+ self . onText { socket, text in
46+ Task {
47+ await callback ( socket, text)
48+ }
4749 }
4850 }
4951 }
5052
51- public func onBinary( _ callback: @escaping ( WebSocket , ByteBuffer ) async -> ( ) ) {
52- onBinary { socket, binary in
53- Task {
54- await callback ( socket, binary)
53+ public func onBinary( _ callback: @Sendable @escaping ( WebSocket, ByteBuffer) async -> ( ) ) {
54+ self . eventLoop. execute {
55+ self . onBinary { socket, binary in
56+ Task {
57+ await callback ( socket, binary)
58+ }
5559 }
5660 }
5761 }
5862
59- public func onPong( _ callback: @escaping ( WebSocket ) async -> ( ) ) {
60- onPong { socket in
61- Task {
62- await callback ( socket)
63+ public func onPong( _ callback: @Sendable @escaping ( WebSocket) async -> ( ) ) {
64+ self . eventLoop. execute {
65+ self . onPong { socket in
66+ Task {
67+ await callback ( socket)
68+ }
6369 }
6470 }
6571 }
6672
67- public func onPing( _ callback: @escaping ( WebSocket ) async -> ( ) ) {
68- onPing { socket in
69- Task {
70- await callback ( socket)
73+ public func onPing( _ callback: @Sendable @escaping ( WebSocket) async -> ( ) ) {
74+ self . eventLoop. execute {
75+ self . onPing { socket in
76+ Task {
77+ await callback ( socket)
78+ }
7179 }
7280 }
7381 }
@@ -77,7 +85,7 @@ extension WebSocket {
7785 headers: HTTPHeaders = [ : ] ,
7886 configuration: WebSocketClient . Configuration = . init( ) ,
7987 on eventLoopGroup: EventLoopGroup ,
80- onUpgrade: @escaping ( WebSocket ) async -> ( )
88+ onUpgrade: @Sendable @ escaping ( WebSocket) async -> ( )
8189 ) async throws {
8290 return try await self . connect (
8391 to: url,
@@ -97,7 +105,7 @@ extension WebSocket {
97105 headers: HTTPHeaders = [ : ] ,
98106 configuration: WebSocketClient . Configuration = . init( ) ,
99107 on eventLoopGroup: EventLoopGroup ,
100- onUpgrade: @escaping ( WebSocket ) async -> ( )
108+ onUpgrade: @Sendable @ escaping ( WebSocket) async -> ( )
101109 ) async throws {
102110 return try await self . connect (
103111 to: url,
@@ -121,7 +129,7 @@ extension WebSocket {
121129 headers: HTTPHeaders = [ : ] ,
122130 configuration: WebSocketClient . Configuration = . init( ) ,
123131 on eventLoopGroup: EventLoopGroup ,
124- onUpgrade: @escaping ( WebSocket ) async -> ( )
132+ onUpgrade: @Sendable @ escaping ( WebSocket) async -> ( )
125133 ) async throws {
126134 return try await self . connect (
127135 scheme: scheme,
0 commit comments