Skip to content

Commit 6cca059

Browse files
committed
dev(WebSocket): support onOpen, onClose
based on elm-lang/websocket#19 - merged with binary data support
1 parent e5f84c4 commit 6cca059

File tree

2 files changed

+173
-103
lines changed

2 files changed

+173
-103
lines changed

client/src/Main.elm

+21-1
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ updateSystemStats systems index entitiesCount maxEntitiesCount =
9999
type Msg
100100
= Input String
101101
| Send
102+
| OnWebsocketOpen String
103+
| OnWebsocketClose String
102104
| NewNetworkMessage MessageData
103105
| Msg_Unknown
104106
| Msg_OnAddedSystem Int String (Maybe BitVector) (Maybe BitVector) (Maybe BitVector)
@@ -125,6 +127,20 @@ update msg model =
125127
, WebSocket.send websocketUrl (ArrayBuffer (stringToBufferArray input))
126128
)
127129

130+
OnWebsocketOpen url ->
131+
let
132+
_ =
133+
Debug.log "websocket open" url
134+
in
135+
model ! []
136+
137+
OnWebsocketClose url ->
138+
let
139+
_ =
140+
Debug.log "websocket close" url
141+
in
142+
model ! []
143+
128144
NewNetworkMessage (String str) ->
129145
{ model | messages = str :: messages } ! []
130146

@@ -289,7 +305,11 @@ deserializePacket objModelNodes valueTrees componentTypes bytes =
289305

290306
subscriptions : Model -> Sub Msg
291307
subscriptions model =
292-
WebSocket.listen websocketUrl NewNetworkMessage
308+
Sub.batch
309+
[ WebSocket.listen websocketUrl NewNetworkMessage
310+
, WebSocket.onOpen OnWebsocketOpen
311+
, WebSocket.onClose OnWebsocketClose
312+
]
293313

294314

295315

0 commit comments

Comments
 (0)