Skip to content
Snippets Groups Projects
Commit 44c0e627 authored by Clément Pit-Claudel's avatar Clément Pit-Claudel
Browse files

Implement WebSocketServer.shutdownApp

parent b499bae4
No related branches found
No related tags found
No related merge requests found
......@@ -80,7 +80,7 @@ object WebServer:
instanceId
private[web] def shutdownApp(instanceId: InstanceId): Unit =
// Remove references of this app
webSocketServer.shutdownApp(instanceId)
val appId = apps.remove(instanceId).map(_.instance.appInfo.id)
clocks.get(instanceId).map(_._2).foreach(_.set(false))
clocks.remove(instanceId)
......
......@@ -35,6 +35,14 @@ private[web] final class WebSocketsCollection():
require(!sessions.contains(instanceId))
sessions = sessions.updated(instanceId, Map.empty.withDefaultValue(Set.empty))
def shutdownApp(instanceId: InstanceId): Unit =
for by_client <- sessions.values
channels <- by_client.values
channel <- channels
do
channel.send(cask.Ws.Close())
sessions = sessions - instanceId
def connect(instanceId: String, userId: String)
(implicit cc: castor.Context, log: cask.Logger): cask.WebsocketResult =
if WebServer.apps.contains(instanceId) then
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment