Skip to content

Commit 7e9aa34

Browse files
author
Oleksandr Dzhychko
authored
Merge pull request #212 from modelix/bugfix/lmx-timeouts-2
fix(model-server): configure websockets connections to be more robust
2 parents 2d3d76a + df4e5d8 commit 7e9aa34

File tree

2 files changed

+11
-3
lines changed
  • model-server-lib/src/main/kotlin/org/modelix/model/server/light
  • model-server/src/main/kotlin/org/modelix/model/server

2 files changed

+11
-3
lines changed

model-server-lib/src/main/kotlin/org/modelix/model/server/light/LightModelServer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,8 @@ class LightModelServer @JvmOverloads constructor(val port: Int, val rootNodeProv
182182

183183
fun Application.installHandlers() {
184184
install(WebSockets) {
185-
pingPeriod = Duration.ofSeconds(15)
186-
timeout = Duration.ofSeconds(15)
185+
pingPeriod = Duration.ofSeconds(30)
186+
timeout = Duration.ofSeconds(30)
187187
maxFrameSize = Long.MAX_VALUE
188188
masking = false
189189
}

model-server/src/main/kotlin/org/modelix/model/server/Main.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ import io.ktor.server.routing.Routing
3434
import io.ktor.server.routing.get
3535
import io.ktor.server.routing.routing
3636
import io.ktor.server.websocket.WebSockets
37+
import io.ktor.server.websocket.pingPeriod
38+
import io.ktor.server.websocket.timeout
3739
import kotlinx.html.a
3840
import kotlinx.html.h1
3941
import kotlinx.html.li
@@ -61,6 +63,7 @@ import java.io.FileReader
6163
import java.io.FileWriter
6264
import java.io.IOException
6365
import java.nio.charset.StandardCharsets
66+
import java.time.Duration
6467
import javax.sql.DataSource
6568

6669
object Main {
@@ -157,7 +160,12 @@ object Main {
157160
install(Routing)
158161
installAuthentication(unitTestMode = !KeycloakUtils.isEnabled())
159162
install(ForwardedHeaders)
160-
install(WebSockets)
163+
install(WebSockets) {
164+
pingPeriod = Duration.ofSeconds(30)
165+
timeout = Duration.ofSeconds(30)
166+
maxFrameSize = Long.MAX_VALUE
167+
masking = false
168+
}
161169
install(ContentNegotiation) {
162170
json()
163171
}

0 commit comments

Comments
 (0)