import scala.
collection.
mutable
private val resources
= mutable.
ListBuffer[AutoCloseable
]()
resources.prepend(r)
r
}
resources.foreach(_.close())
}
println("Socket closed!")
}
val socket
= resource
(new Socket
())
println("Server closed!")
}
}
}
aW1wb3J0IHNjYWxhLmNvbGxlY3Rpb24ubXV0YWJsZQoKdHJhaXQgUmVzb3VyY2VzIGV4dGVuZHMgQXV0b0Nsb3NlYWJsZSB7CiAgcHJpdmF0ZSB2YWwgcmVzb3VyY2VzID0gbXV0YWJsZS5MaXN0QnVmZmVyW0F1dG9DbG9zZWFibGVdKCkKCiAgcHJvdGVjdGVkIGRlZiByZXNvdXJjZVtUIDw6IEF1dG9DbG9zZWFibGVdKHI6IFQpID0gewogICAgcmVzb3VyY2VzLnByZXBlbmQocikKICAgIHIKICB9CgogIG92ZXJyaWRlIGRlZiBjbG9zZSgpID0KICAgIHJlc291cmNlcy5mb3JlYWNoKF8uY2xvc2UoKSkKfQoKY2xhc3MgU29ja2V0IGV4dGVuZHMgQXV0b0Nsb3NlYWJsZSB7CiAgb3ZlcnJpZGUgZGVmIGNsb3NlKCkgPQogICAgcHJpbnRsbigiU29ja2V0IGNsb3NlZCEiKQp9CgpjbGFzcyBTZXJ2ZXIgZXh0ZW5kcyBSZXNvdXJjZXMgewogIHZhbCBzb2NrZXQgPSByZXNvdXJjZShuZXcgU29ja2V0KCkpCgogIG92ZXJyaWRlIGRlZiBjbG9zZSgpID0gewogICAgc3VwZXIuY2xvc2UoKQogICAgcHJpbnRsbigiU2VydmVyIGNsb3NlZCEiKQogIH0KfQoKb2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewogIG5ldyBTZXJ2ZXIoKS5jbG9zZSgpCn0=