KSSLServerSocketFactoryDefault.kt
package org.knio.core.net.ssl
import org.knio.core.context.KnioContext
import java.net.InetAddress
import java.net.InetSocketAddress
import javax.net.ssl.SSLContext
class KSSLServerSocketFactoryDefault(
private val sslContext: SSLContext,
private val context: KnioContext
): KSSLServerSocketFactory {
override suspend fun createServerSocket(): KSSLServerSocket {
return KSSLServerSocketImpl (
sslContext = sslContext,
context = context
)
}
override suspend fun createServerSocket(port: Int): KSSLServerSocket {
return createServerSocket().apply { bind(InetSocketAddress(port)) }
}
override suspend fun createServerSocket(port: Int, backlog: Int): KSSLServerSocket {
return createServerSocket().apply { bind(InetSocketAddress(port), backlog) }
}
override suspend fun createServerSocket(port: Int, backlog: Int, ifAddress: InetAddress): KSSLServerSocket {
return createServerSocket().apply { bind(InetSocketAddress(ifAddress, port), backlog) }
}
}