All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonJvmMain.com.ditchoom.socket.nio2.AsyncClientSocket.kt Maven / Gradle / Ivy

package com.ditchoom.socket.nio2

import com.ditchoom.buffer.AllocationZone
import com.ditchoom.socket.ClientToServerSocket
import com.ditchoom.socket.nio.util.buildInetAddress
import com.ditchoom.socket.nio2.util.aConnect
import com.ditchoom.socket.nio2.util.asyncSocket
import kotlinx.coroutines.withTimeout
import kotlin.time.Duration

class AsyncClientSocket(allocationZone: AllocationZone) :
    AsyncBaseClientSocket(allocationZone),
    ClientToServerSocket {
    override suspend fun open(
        port: Int,
        timeout: Duration,
        hostname: String?,
    ) = withTimeout(timeout) {
        val asyncSocket = asyncSocket()
        [email protected] = asyncSocket
        asyncSocket.aConnect(buildInetAddress(port, hostname), timeout)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy