in agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClient.kt [113:145]
override suspend fun close() {
logger.info { "Feature Message Remote Client. Closing client: ${connectionConfig.url}" }
if (!isConnected.value) {
logger.warn { "Feature Message Remote Client. Client is already stopped. Skip stopping." }
return
}
logger.debug {
"Feature Message Remote Client. Closing client status:\n" +
"* session.isActive: ${session.isActive}\n " +
"* sseJob.isActive: ${sseJob?.isActive}\n " +
"* client.isActive: ${client.isActive}"
}
receivedMessages.close()
if (sseJob?.isActive == true) {
sseJob?.cancelAndJoin()
}
if (session.isActive) {
session.cancel()
}
if (client.isActive) {
client.close()
}
_isConnected.value = false
logger.info { "Feature Message Remote Client. Client is successfully closed: ${connectionConfig.url}" }
}